ต้นกำเนิดของสัญกรณ์สไตล์วิลกินสันเช่น (1 | id) สำหรับเอฟเฟกต์แบบสุ่มในสูตรโมเดลผสมใน R


16

สูตรโมเดลใน R เช่น

y ~ x + a*b + c:d

จะขึ้นอยู่กับที่เรียกว่าสัญกรณ์วิลกินสัน : วิลกินสันและโรเจอร์ส 1973 สัญลักษณ์คำอธิบายของปัจจัยรุ่นสำหรับการวิเคราะห์ความแปรปรวน

บทความนี้ไม่ได้กล่าวถึงสัญลักษณ์สำหรับรุ่นผสม (ซึ่งอาจไม่มีอยู่ในตอนนั้น) ดังนั้นสูตรผสมโมเดลที่ใช้ในlme4และแพ็คเกจที่เกี่ยวข้องใน R เช่น

y ~ x + a*b + c:d + (1|school) + (a*b||town)

มาจาก? ใครแนะนำพวกเขาเป็นครั้งแรกและเมื่อไหร่ มีข้อตกลงใด ๆ เช่นคำว่า "สัญกรณ์วิลกินสัน" สำหรับพวกเขาหรือไม่? ฉันหมายถึงเฉพาะเงื่อนไขเช่น

(model formula |  grouping variable)
(model formula || grouping variable)

คำตอบ:


11

สัญกรณ์|มีอยู่ในnlmeเอกสารตั้งแต่รุ่น 3.1-1 และอาจเป็นช่วงปลายปี 1999 เราสามารถตรวจสอบได้อย่างง่ายดายว่าในการเก็บรหัสCRAN nlme nlmeไม่ใช้รูปแบบนี้เช่นลองlibrary(nlme); formula(Orthodont); |ขึ้นมา - ดังนั้นปี 2000 จะถูกปิด งั้นมาขุดกัน .... " วิธีการแบบกราฟิกสำหรับข้อมูลที่มีหลายระดับของการทำรัง " Pinheiro & Bates (1997) ที่groupedDataแนะนำตัวสร้าง และพวกเขากล่าวว่า: " สูตรในวัตถุข้อมูลที่จัดกลุ่มมีรูปแบบเช่นเดียวกับสูตรที่ใช้ในการเรียกใช้ฟังก์ชันกราฟิก Trellis ใน S-PLUS เช่น xyplot " ซึ่ง .... มีเหตุผลเช่นเดียวกับ P&B ที่ทำงาน .. Bell Labs (RIP) ซึ่งพัฒนาระบบกราฟิก Trellis ซึ่งใช้งานจริง|มีอยู่แล้วเพื่อระบุกลุ่ม ซึ่งอาจหมายถึง ... " การออกแบบและควบคุมการแสดงผลของ Trellis " โดย Becker et al. (1996) มีบางอย่างเกี่ยวข้องกับสิ่งนี้ ไม่มีการใช้สัญลักษณ์ในเอกสารนี้ แต่เป็นข้อมูลอ้างอิงการแสดงผล Trellis อิเล็กทรอนิกส์เครื่องแรกที่ฉันสามารถหาได้

โดยพื้นฐานแล้วเราจำเป็นต้องมีวรรณกรรมการสร้างภาพข้อมูล ณ จุดนี้ อาจเป็นไปได้ว่าฉันจะตรวจสอบหนังสือVisualizing Data (1993) ของคลีฟแลนด์และผลงานต้นของ Deepayan Sarkar (ผู้พัฒนาlattice) โปรดสังเกตว่าตัวดำเนินการจริง| (และ||) เป็นตัวดำเนินการดั้งเดิมที่แท้จริงเนื่องจากเกี่ยวข้องกับORตัวดำเนินการดังนั้นมันเป็นเพียงเรื่องของเวลาจนกว่าจะมีใครบางคนทำงานหนักเกินไป ในขณะที่ไม่มีคำตอบเต็มรูปแบบฉันสงสัยอย่างยิ่งว่าพีแอนด์บีจะตรวจสอบระบบการสร้างภาพข้อมูลให้เพื่อนร่วมงานของพวกเขา (แผนการในปี 1996 นั้นค่อนข้างดีสำหรับมาตรฐานปลายปี 2010) และตระหนักว่าใครบางคน (Becker, Cleveland และ Shyu) แม้จะพูดคุยเรื่องนี้กับพวกเขาในเวลานั้น) และติดตามสิ่งที่มีอยู่แล้ว นั่นคือ|ผู้ประกอบการมีต้นกำเนิดในสัญกรณ์กราฟิก Trellis เกือบจะใช้มันอย่างแน่นอน ผู้ที่มีศักยภาพรุ่นก่อนหน้าของ Trellis อาจทำเช่นกัน แต่ e-footprint ของพวกเขานั้นยากที่จะติดตาม

โดยทั่วไปแล้วผมคิดว่าคุณอาจต้องการหน้านี้ในNLME: ซอฟแวร์สำหรับรุ่นที่ผสมผลกระทบnlmeโดยเบลล์แล็บสำหรับข้อมูลเพิ่มเติมเกี่ยวกับประวัติศาสตร์


1
ขอบคุณมาก! เป็นเรื่องจริงที่nlmeใช้|แต่ฉันไม่คิดว่ามันใช้()เพื่อแสดงเอฟเฟกต์แบบสุ่มใช่ไหม เอฟเฟกต์แบบสุ่มจะแสดงรายการเป็นอาร์กิวเมนต์แยกต่างหากสำหรับการเรียกใช้ฟังก์ชัน เป็นสูตรlme4ที่นำมาใช้(x|id)เป็นส่วนหนึ่งของสูตรเดียวกันหรือไม่?
อะมีบาพูดว่า Reinstate Monica

2
ฉันคิดว่าคุณกำลังอ่านหนังสืออยู่ในวงเล็บมากเกินไป ฉันสงสัยอย่างยิ่งว่าพวกเขามีอยู่เพื่อวัตถุประสงค์ในการแยกวิเคราะห์ให้lme4ใช้ไวยากรณ์แบบครบวงจรสำหรับทุกคำ ตัวอย่างเช่นfm1 <- lmer(Reaction ~ Days | Subject, sleepstudy)ทำงานได้ดีโดยไม่มีวงเล็บ
usεr11852พูดว่า Reinstate Monic

โอ้ จริง ไม่เคยคิดแบบนี้ :)
อะมีบาพูดว่า Reinstate Monica

เบตส์เพิ่งยืนยันว่าชิ้นส่วนแบบสุ่มได้รับการแนะนำโดยผู้เขียน nlme (ซึ่งเขาเป็นหนึ่ง): twitter.com/BatesDmbates/status/1111283948615802881
Jonas Lindeløv

@ JonasLindeløv: เยี่ยม! ขอบคุณสำหรับการแบ่งปันฉันจะทำให้ลิงก์ไปยังคำตอบพรุ่งนี้คืน
usεr11852พูดว่า Reinstate Monic
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.