首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >R中一个三因子问题的ANOVA没有给出与教科书和手工计算相同的结果

R中一个三因子问题的ANOVA没有给出与教科书和手工计算相同的结果
EN

Stack Overflow用户
提问于 2022-11-02 12:45:00
回答 1查看 19关注 0票数 0

我在Excel中完成了实验设计与分析(Montgomery,2013ISBN:9781118097939)的示例5.3,得到了同样的结果。然而,当在R中完成方差分析时,我得到了不同的结果。虽然我对python很熟悉,但我对R还不熟悉,所以我不知道我做错了什么。我怀疑这与在R中计算的自由度有关,因为它们与Excel中计算的自由度有很大的不同。找到附加的结果作为一个图像。教材成绩由本人在Excel中确认。问题陈述也附在这里。问题陈述。

我在R中的代码如下

代码语言:javascript
复制
bottel_vul_data <- data.frame(A = rep(c(10, 12, 14), each = 2),
                              B = rep(c(25, 30), each = 12),
                              C = rep(c(200, 250), each = 6),        
                              vul = c(-3, -1, 0, 1, 5, 4,
                                      -1,  0, 2, 1, 7, 6,   
                                      -1,  0, 2, 3, 7, 9,
                                       1,  1, 6, 5, 10, 11))

bottel_anova <- aov(vul ~ A * B * C, data = bottel_vul_data)
summary(bottel_anova)

产生了

代码语言:javascript
复制
            Df Sum Sq Mean Sq F value   Pr(>F)    
A            1 248.06  248.06 275.306 1.67e-11 ***
B            1  45.37   45.37  50.358 2.53e-06 ***
C            1  22.04   22.04  24.462 0.000146 ***
A:B          1   5.06    5.06   5.618 0.030675 *  
A:C          1   0.56    0.56   0.624 0.441016    
B:C          1   1.04    1.04   1.156 0.298229    
A:B:C        1   0.06    0.06   0.069 0.795626    
Residuals   16  14.42    0.90                     
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

虽然不是主要问题的一部分,但我也不知道这是什么意思。密码意味着。如果有人知道的话,这将是很好的背景知识。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-11-02 13:56:41

这里的问题是,R将变量A解释为一个数值预测器,而在您的教科书示例中,他们将其视为一个因素(即,一个范畴变量)。一旦将A转换为r中的一个因子,就会得到正确的结果(与课本中的照片相同)。有很多方法可以做到这一点,但最简单的方法可能是:

代码语言:javascript
复制
bottel_anova <- aov(vul ~ factor(A) * B * C, data = bottel_vul_data)
summary(bottel_anova)

              Df Sum Sq Mean Sq F value   Pr(>F)    
factor(A)      2 252.75  126.38 178.412 1.19e-09 ***
B              1  45.37   45.37  64.059 3.74e-06 ***
C              1  22.04   22.04  31.118  0.00012 ***
factor(A):B    2   5.25    2.63   3.706  0.05581 .  
factor(A):C    2   0.58    0.29   0.412  0.67149    
B:C            1   1.04    1.04   1.471  0.24859    
factor(A):B:C  2   1.08    0.54   0.765  0.48687    
Residuals     12   8.50    0.71                     
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

至于你的签名。代码问题--它只是在最后一列(*** p< .001、** p< .01、* p< .05等)显示p值的一种快速方法。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/74289366

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档