ฉันมีชุดข้อมูลของการสังเกต 482 ชุด
data=Populationfull
ฉันจะทำการวิเคราะห์ความสัมพันธ์ของจีโนไทป์สำหรับ 3 SNP ฉันกำลังพยายามสร้างแบบจำลองสำหรับการวิเคราะห์ของฉันและฉันใช้ aov (y ~ x, data = ... ) สำหรับคุณลักษณะหนึ่งฉันมีเอฟเฟกต์คงที่และค่าแปรปรวนร่วมหลายอย่างที่ฉันได้รวมไว้ในโมเดลเช่น:
Starts <- aov(Starts~Sex+DMRT3+Birthyear+Country+Earnings+Voltsec+Autosec, data=Populationfull) summary(Starts) Df Sum Sq Mean Sq F value Pr(>F) Sex 3 17.90 5.97 42.844 < 2e-16 *** DMRT3 2 1.14 0.57 4.110 0.017 * Birthyear 9 5.59 0.62 4.461 1.26e-05 *** Country 1 11.28 11.28 81.005 < 2e-16 *** Earnings 1 109.01 109.01 782.838 < 2e-16 *** Voltsec 1 12.27 12.27 88.086 < 2e-16 *** Autosec 1 8.97 8.97 64.443 8.27e-15 *** Residuals 463 64.48 0.14 --- Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
ฉันค้นพบว่าถ้าฉันเปลี่ยนลำดับของตัวแปรในโมเดลที่ฉันมีค่า p ต่างกันโปรดดูด้านล่าง
Starts2 <- aov(Starts~Voltsec+Autosec+Sex+DMRT3+Birthyear+Country+Earnings, data=Populationfull) summary(Starts2) Df Sum Sq Mean Sq F value Pr(>F) Voltsec 1 2.18 2.18 15.627 8.92e-05 *** Autosec 1 100.60 100.60 722.443 < 2e-16 *** Sex 3 10.43 3.48 24.962 5.50e-15 *** DMRT3 2 0.82 0.41 2.957 0.05294 . Birthyear 9 3.25 0.36 2.591 0.00638 ** Country 1 2.25 2.25 16.183 6.72e-05 *** Earnings 1 46.64 46.64 334.903 < 2e-16 *** Residuals 463 64.48 0.14 --- Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
ทำไมฉันถึงได้ค่า p ที่แตกต่างกันขึ้นอยู่กับว่าตัวแปร / ปัจจัย / covariates / fixedeffects (?) อยู่ในลำดับใด มีวิธีการ "แก้ไข" หรือไม่ เป็นไปได้ไหมที่ฉันจะใช้โมเดลผิด? ฉันยังค่อนข้างใหม่อยู่ที่ R ดังนั้นถ้าคุณสามารถช่วยฉันได้โปรดช่วยให้มันง่ายมากเพื่อที่ฉันจะสามารถเข้าใจคำตอบฮิฮิ ... ขอบคุณหวังว่าจะมีคนช่วยฉันเข้าใจสิ่งนี้!
Earnings 1 109.01 109.01 782.838 < 2e-16 ***
Earnings 1 46.64 46.64 334.903 < 2e-16 ***
ผลลัพธ์ของคุณไม่เหมือนกัน เริ่มต้นด้วยการตรวจสอบเพื่อดูว่าคุณไม่ได้ทำมากกว่าการจัดลำดับตัวแปรใหม่
car
แพ็คเกจ - มันใช้ Type II และ Type III ANOVA ซึ่งไม่ได้ขึ้นอยู่กับลำดับของตัวแปรในขณะที่aov
Type I ANOVA
Populationfull
เพื่อให้ปัญหาของคุณสามารถทำซ้ำได้ สิ่งนี้จะไม่เกิดขึ้นกับตัวอย่างจากaov()
หน้าช่วยเหลือsummary(aov(yield ~ block + N + P + K, npk)); summary(aov(yield ~ K + P + block + N , npk))