ฉันมีรูปแบบการถดถอยที่มีลักษณะเช่นนี้:
... หรือในสัญกรณ์ R: y ~ x1 + x2 + x3 + x1:x2 + x1:x3 + x1:x2:x3
สมมติว่า และ เป็นตัวแปรเด็ดขาดและ เป็นตัวเลข ภาวะแทรกซ้อนก็คือ มีสามระดับ และแทนที่จะเป็นความแตกต่างมาตรฐานฉันต้องทดสอบ:
- ไม่ว่าจะเป็นการสกัดกั้นระดับ แตกต่างจากการสกัดกั้นโดยเฉลี่ยสำหรับระดับ และ .
- ไม่ว่าจะเป็นการตอบสนองของ แตกต่างกันอย่างมีนัยสำคัญระหว่างระดับ และค่าเฉลี่ยของระดับ และ .
- ไม่ว่าจะเป็นความชันของ แตกต่างกันอย่างมีนัยสำคัญระหว่างระดับ และค่าเฉลี่ยของระดับ และ .
จากโพสต์นี้ดูเหมือนว่าเมทริกซ์ที่ฉันต้องการคือ ...
2
-1
-1
contrasts(mydata$x1)<-t(ginv(cbind(2,-1,-1)))
ดังนั้นผมจึงทำ การประมาณของการเปลี่ยนแปลง แต่ทำอย่างอื่น ๆ ฉันสามารถทำซ้ำประมาณการใหม่ของ โดยการลบค่าที่ทำนายของ และ กลุ่มหมายถึง (เมื่อ และ อยู่ที่ระดับอ้างอิง) ตั้งแต่สองเท่าของค่า ในระดับเหล่านั้น แต่ฉันไม่สามารถวางใจได้ว่าฉันระบุเมทริกซ์คอนทราสต์ของฉันอย่างถูกต้องเว้นแต่ฉันจะได้ค่าสัมประสิทธิ์อื่น ๆ ในทำนองเดียวกัน
ใครบ้างมีคำแนะนำเกี่ยวกับวิธีห่อหัวของฉันรอบความสัมพันธ์ระหว่างเซลล์หมายถึงและความแตกต่าง? ขอบคุณ มีชื่อมาตรฐานสำหรับความคมชัดประเภทนี้หรือไม่
Aha! ตามลิงก์ที่โพสต์ในคำตอบของ Glen_bบรรทัดล่างคือคุณสามารถแปลงการเปรียบเทียบกลุ่มใดก็ได้หมายความว่าคุณต้องการเป็นแอตทริบิวต์ความคมชัด R-style ดังต่อไปนี้:
- ทำเมทริกซ์จตุรัส แถวแสดงถึงระดับของปัจจัยของคุณและคอลัมน์แสดงถึงความแตกต่าง ยกเว้นอันแรกซึ่งบอกโมเดลว่าการสกัดกั้นควรเป็นตัวแทนของอะไร
- หากคุณต้องการให้การสกัดกั้นของคุณเป็นค่าเฉลี่ยยิ่งใหญ่ให้เติมคอลัมน์แรกด้วยค่าที่ไม่เป็นศูนย์เดียวกันทั้งหมดไม่สำคัญว่าจะเกิดอะไรขึ้น หากคุณต้องการให้การสกัดกั้นเป็นวิธีหนึ่งในระดับให้ใส่ตัวเลขลงในแถวนั้นแล้วเติมส่วนที่เหลือด้วยศูนย์ หากคุณต้องการให้การสกัดกั้นนั้นมีความหมายหลายระดับให้ใส่ตัวเลขในแถวและศูนย์เหล่านั้นในส่วนที่เหลือ หากคุณต้องการให้มันเป็นค่าเฉลี่ยถ่วงน้ำหนักให้ใช้ตัวเลขอื่นหรือใช้ตัวเลขเดียวกัน คุณยังสามารถใส่ค่าลบในคอลัมน์สกัดกั้นและนั่นอาจหมายถึงบางสิ่งบางอย่างเช่นกัน แต่มันเปลี่ยนความแตกต่างอื่น ๆ ได้อย่างสมบูรณ์ดังนั้นฉันจึงไม่มีความคิดว่าสิ่งนั้นมีไว้เพื่ออะไร
- กรอกข้อมูลลงในคอลัมน์ที่เหลือด้วยค่าบวกและลบที่ระบุว่าคุณต้องการเปรียบเทียบกับระดับอื่น ๆ ฉันลืมว่าทำไมการรวมเป็นศูนย์จึงมีความสำคัญ แต่ปรับค่าเพื่อให้คอลัมน์รวมเป็นศูนย์
- เคลื่อนย้ายเมทริกซ์โดยใช้
t()
ฟังก์ชัน - ใช้
ginv()
จากMASS
แพ็คเกจหรือsolve()
เพื่อรับค่าผกผันของเมทริกซ์ที่ถูกเปลี่ยน mycontrast<-mycontrast[,-1]
วางคอลัมน์แรกเช่น ตอนนี้คุณมีเมทริกซ์ apx p-1 แต่ข้อมูลที่คุณใส่ในการสกัดกั้นถูกเข้ารหัสในเมทริกซ์โดยรวมในระหว่างขั้นตอนที่ 5- หากคุณต้องการให้ฉลากในเอาต์พุตสรุปน่าอ่านมากกว่า
lm()
เอาท์พุตเริ่มต้นของเอตแอลให้ตั้งชื่อคอลัมน์ของเมทริกซ์ของคุณตามนั้น การสกัดกั้นจะได้รับการตั้งชื่อโดยอัตโนมัติ(Intercept)
อย่างไรก็ตาม - ทำให้เมทริกซ์ของคุณแตกต่างใหม่สำหรับปัจจัยที่มีปัญหาเช่น
contrasts(mydata$myfactor)<-mymatrix
- เรียกใช้
lm()
(และอาจจะฟังก์ชั่นอื่น ๆ อีกมากมายที่ใช้สูตร) ตามปกติในมาตรฐาน R โดยไม่ต้องโหลดglht
, หรือdoBy
contrasts
Glen_b ขอบคุณและขอบคุณกลุ่มที่ปรึกษาทางสถิติของ UCLA ฉันใช้สถิติ prof ใช้เวลาหลายวันในการเขียนหัวข้อนี้และฉันก็ยังไม่ทราบว่าจะเขียนเมทริกซ์ความคมชัดของตัวเองได้อย่างไร และตอนนี้หนึ่งชั่วโมงในการอ่านและเล่นกับ R และในที่สุดฉันก็คิดว่าฉันเข้าใจแล้ว เดาว่าฉันควรสมัครกับ UCLA แทน หรือ University of StackExchange
contra.helmert
?