วิธีการประเมินองค์ประกอบความแปรปรวนกับ lmer สำหรับแบบจำลองที่มีเอฟเฟกต์แบบสุ่มและเปรียบเทียบกับผลการค้นหา lme
ฉันทำการทดลองที่ฉันเลี้ยงดูครอบครัวที่แตกต่างกันซึ่งมาจากประชากรสองแหล่งที่แตกต่างกัน แต่ละครอบครัวได้รับมอบหมายให้หนึ่งในสองของการรักษา หลังจากการทดลองฉันวัดคุณสมบัติหลายอย่างของแต่ละคน เพื่อทดสอบผลกระทบของการรักษาหรือแหล่งที่มารวมทั้งการมีปฏิสัมพันธ์ของพวกเขาฉันใช้แบบจำลองเชิงเส้นผลกระทบเชิงเส้นกับครอบครัวเป็นปัจจัยสุ่มเช่น lme(fixed=Trait~Treatment*Source,random=~1|Family,method="ML") ดีมากตอนนี้ฉันต้องคำนวณส่วนประกอบความแปรปรวนแบบสัมพัทธ์นั่นคือเปอร์เซ็นต์ของความแปรปรวนที่อธิบายโดยการรักษาหรือแหล่งที่มาเช่นเดียวกับการมีปฏิสัมพันธ์ หากไม่มีเอฟเฟกต์แบบสุ่มฉันสามารถใช้ผลรวมของกำลังสอง (SS) เพื่อคำนวณความแปรปรวนที่อธิบายโดยแต่ละปัจจัย แต่สำหรับโมเดลผสม (ที่มีการประมาณค่า ML) ไม่มี SS ดังนั้นฉันคิดว่าฉันสามารถใช้การรักษาและแหล่งที่มาเป็นเอฟเฟกต์แบบสุ่มเพื่อประเมินความแปรปรวนเช่น lme(fixed=Trait~1,random=~(Treatment*Source)|Family, method="REML") อย่างไรก็ตามในบางกรณี lme ไม่ได้รวมกันดังนั้นฉันใช้ lmer จากแพ็คเกจ lme4: lmer(Trait~1+(Treatment*Source|Family),data=DATA) ที่ฉันแยกความแตกต่างจากแบบจำลองโดยใช้ฟังก์ชันสรุป: model<-lmer(Trait~1+(Treatment*Source|Family),data=regrexpdat) results<-VarCorr(model) variances<-results[,3] ฉันได้รับค่าเช่นเดียวกับฟังก์ชั่น VarCorr ฉันใช้ค่าเหล่านี้แล้วในการคำนวณอัตราร้อยละของการเปลี่ยนแปลงที่เกิดขึ้นจริงโดยนำผลรวมเป็นรูปแบบทั้งหมด สิ่งที่ฉันกำลังดิ้นรนคือการตีความผลลัพธ์จากแบบจำลอง lme เริ่มต้น (ด้วยการรักษาและแหล่งที่มาเป็นผลกระทบคงที่) และแบบจำลองแบบสุ่มเพื่อประเมินองค์ประกอบความแปรปรวน (พร้อมการรักษาและแหล่งที่มาเป็นผลแบบสุ่ม) ฉันพบว่าส่วนใหญ่ร้อยละของความแปรปรวนที่อธิบายโดยแต่ละปัจจัยไม่สอดคล้องกับความสำคัญของผลกระทบคงที่ ตัวอย่างเช่นสำหรับลักษณะ HD, lme เริ่มต้นแสดงให้เห็นแนวโน้มสำหรับการมีปฏิสัมพันธ์เช่นเดียวกับความสำคัญสำหรับการรักษา เมื่อใช้วิธีการย้อนหลังฉันพบว่าการรักษามีแนวโน้มใกล้เคียงอย่างมีนัยสำคัญ อย่างไรก็ตามการประมาณส่วนประกอบความแปรปรวนฉันพบว่าแหล่งที่มานั้นมีความแปรปรวนสูงสุดคิดเป็น 26.7% ของความแปรปรวนทั้งหมด The lme: anova(lme(fixed=HD~as.factor(Treatment)*as.factor(Source),random=~1|as.factor(Family),method="ML",data=test),type="m") numDF …