ความแตกต่างในค่า p รายงานระหว่าง lm และ aov ใน R


12

อะไรอธิบายถึงความแตกต่างของค่า p ในค่าต่อไปนี้aovและการlmโทร? ความแตกต่างนั้นเกิดจากการคำนวณผลรวมจำนวนสแควร์ประเภทต่างๆหรือไม่

set.seed(10)
data=rnorm(12)
f1=rep(c(1,2),6)
f2=c(rep(1,6),rep(2,6))
summary(aov(data~f1*f2))
summary(lm(data~f1*f2))$coeff

คำตอบ:


13

summary(aov)ใช้เรียกว่า Type I (sequential) ผลรวมของกำลังสอง summary(lm)ใช้ผลรวมที่เรียกว่า Type III ของกำลังสองซึ่งไม่ได้เรียงตามลำดับ ดูคำตอบของ gungสำหรับรายละเอียด


โปรดทราบว่าคุณต้องโทรlm(data ~ factor(f1) * factor(2))( aov()แปลง RHS ของสูตรโดยอัตโนมัติเป็นปัจจัย) จากนั้นให้สังเกตตัวส่วนสำหรับ -statistic ทั่วไปในการถดถอยเชิงเส้น (ดูคำตอบนี้สำหรับคำอธิบายเพิ่มเติม):t

t=ψ^ψ0σ^c(XX)1c

c(XX)1cβcF


1
ฉันคิดว่าประโยคแรกของคำตอบนี้ผิด ความแตกต่างนั้นดูเหมือนจะแม่นยำเนื่องจากชนิดของผลรวมของกำลังสองที่แตกต่างกัน: คือประเภทที่ 1 กับประเภท II / III Type I เป็นลำดับซึ่งเป็นlmรายงานอะไรในขณะที่ Type II / III ไม่ใช่ มีการอธิบายอย่างละเอียดในคำตอบของ @ gung ที่คุณเชื่อมโยง
อะมีบาพูดว่า Reinstate Monica

@amoeba คุณแนะนำให้แก้ไขคำตอบอย่างไร?
caracal

ฉันแก้ไขย่อหน้าแรกดูว่าคุณโอเคกับการแก้ไขหรือไม่และสามารถเปลี่ยนแปลงได้ตามต้องการ
อะมีบาพูดว่า Reinstate Monica

2
set.seed(10)
data=rnorm(12)
f1=rep(c(1,2),6)
f2=c(rep(1,6),rep(2,6))
summary(aov(data~f1*f2))
            Df Sum Sq Mean Sq F value Pr(>F)
f1           1  0.535  0.5347   0.597  0.462
f2           1  0.002  0.0018   0.002  0.966
f1:f2        1  0.121  0.1208   0.135  0.723
Residuals    8  7.169  0.8962               
summary(lm(data~f1*f2))$coeff
               Estimate Std. Error    t value  Pr(>|t|)
(Intercept)  0.05222024   2.732756  0.0191090 0.9852221
f1          -0.17992329   1.728346 -0.1041014 0.9196514
f2          -0.62637109   1.728346 -0.3624106 0.7264325
f1:f2        0.40139439   1.093102  0.3672066 0.7229887

นี่คือรหัสที่ต่างกันสองรหัส จาก Lm model คุณต้องการสัมประสิทธิ์ ในขณะที่จากแบบจำลอง aov คุณเพียงแค่กำหนดแหล่งที่มาของการเปลี่ยนแปลง ลองรหัส

anova(lm(data~f1*f2))
Analysis of Variance Table

Response: data
          Df Sum Sq Mean Sq F value Pr(>F)
f1         1 0.5347 0.53468  0.5966 0.4621
f2         1 0.0018 0.00177  0.0020 0.9657
f1:f2      1 0.1208 0.12084  0.1348 0.7230
Residuals  8 7.1692 0.89615   

สิ่งนี้ทำให้การจัดระเบียบของแหล่งที่มาของการเปลี่ยนแปลงนำไปสู่ผลลัพธ์เดียวกัน


2
สิ่งนี้ดูเหมือนจะไม่ตอบคำถามซึ่งถามว่าเพราะเหตุใดค่า p สำหรับf1และf2แตกต่างในสองสรุปของแผงด้านบนของคุณ ดูเหมือนว่าคุณเป็นเพียงการแสดงให้เห็นว่าsummary(aov(...))และanova(lm(...))ในRมีการส่งออกที่คล้ายกัน
whuber
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.