【问题标题】:What is the difference of "+" versus "*" in ANOVA model?ANOVA 模型中的“+”与“*”有什么区别?
【发布时间】:2020-07-02 12:11:08
【问题描述】:
       GG      AMB GGXAMB     ATF6.M
1    COBB CONFORTO     CC  1.7391386
2    COBB CONFORTO     CC  0.8269537
3    COBB CONFORTO     CC  0.3464495
4    COBB CONFORTO     CC  1.3126458
5    COBB CONFORTO     CC  1.3938351
6    COBB CONFORTO     CC  1.0969472
7    COBB   STRESS     CS  3.1431619
8    COBB   STRESS     CS  0.9023480
9    COBB   STRESS     CS  2.5106332
10   COBB   STRESS     CS  1.2833235
11   COBB   STRESS     CS  0.4485298
12   COBB   STRESS     CS  0.3553028
13 PELOCO CONFORTO     PC  0.3481456
14 PELOCO CONFORTO     PC  2.5095779
15 PELOCO CONFORTO     PC  0.8871572
16 PELOCO CONFORTO     PC  2.3148108
17 PELOCO CONFORTO     PC 73.2463832
18 PELOCO CONFORTO     PC 16.0056771
19 PELOCO   STRESS     PS 15.4836898
20 PELOCO   STRESS     PS  1.2041695
21 PELOCO   STRESS     PS  1.8424005
22 PELOCO   STRESS     PS  0.9193776
23 PELOCO   STRESS     PS  0.9451780
24 PELOCO   STRESS     PS  0.9715508

对不起,如果问题太愚蠢,但我还没有找到答案。

在 R 中进行 ANOVA 分析时,这两个模型的统计差异是什么:

  1. aov(ATF6.M ~ G + AMB + GGXAMB, 数据)
  2. aov(ATF6.M ~ G*AMB, 数据)

我从结果中注意到,当您使用“*”时,它会计算每个自变量以及交互作用的方差分析(例如:GG:AMB)。但是,如果您看一下我的表格,GGXAMB 变量正是该交互作用,但是如果将结果与在方差分析摘要上使用 GG:AMB 获得的值与 1. 公式的结果进行比较,它们很接近,但不是相同。我的模型对吗?

【问题讨论】:

  • * 做所有事情,包括交互。您能展示一下您的模型的摘要吗?

标签: r statistics anova


【解决方案1】:

使用您的数据:

data = structure(list(GG = structure(c(1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 
1L, 1L, 1L, 1L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L
), .Label = c("COBB", "PELOCO"), class = "factor"), AMB = structure(c(1L, 
1L, 1L, 1L, 1L, 1L, 2L, 2L, 2L, 2L, 2L, 2L, 1L, 1L, 1L, 1L, 1L, 
1L, 2L, 2L, 2L, 2L, 2L, 2L), .Label = c("CONFORTO", "STRESS"), class = "factor"), 
    GGXAMB = structure(c(1L, 1L, 1L, 1L, 1L, 1L, 2L, 2L, 2L, 
    2L, 2L, 2L, 3L, 3L, 3L, 3L, 3L, 3L, 4L, 4L, 4L, 4L, 4L, 4L
    ), .Label = c("CC", "CS", "PC", "PS"), class = "factor"), 
    ATF6.M = c(1.7391386, 0.8269537, 0.3464495, 1.3126458, 1.3938351, 
    1.0969472, 3.1431619, 0.902348, 2.5106332, 1.2833235, 0.4485298, 
    0.3553028, 0.3481456, 2.5095779, 0.8871572, 2.3148108, 73.2463832, 
    16.0056771, 15.4836898, 1.2041695, 1.8424005, 0.9193776, 
    0.945178, 0.9715508)), class = "data.frame", row.names = c("1", 
"2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", 
"14", "15", "16", "17", "18", "19", "20", "21", "22", "23", "24"
))

我们做方差分析:

f1 = aov(ATF6.M ~ GG + AMB + GGXAMB, data=data)
f2 = aov(ATF6.M ~ GG * AMB, data=data)

可以解释的方差本质上是一样的:

summary(f1)
            Df Sum Sq Mean Sq F value Pr(>F)
GG           1    428   427.7   1.990  0.174
AMB          1    216   216.1   1.005  0.328
GGXAMB       1    240   239.9   1.116  0.303
Residuals   20   4299   214.9               
summary(f2)
            Df Sum Sq Mean Sq F value Pr(>F)
GG           1    428   427.7   1.990  0.174
AMB          1    216   216.1   1.005  0.328
GG:AMB       1    240   239.9   1.116  0.303
Residuals   20   4299   214.9 

系数不同:

f1$coefficients
(Intercept)    GGPELOCO   AMBSTRESS    GGXAMBCS    GGXAMBPC    GGXAMBPS 
   1.119328   14.765964  -12.324231   12.645452          NA          NA 
f2$coefficients
       (Intercept)           GGPELOCO          AMBSTRESS GGPELOCO:AMBSTRESS 
         1.1193283         14.7659637          0.3212216        -12.6454525 

这是因为在第一个回归中,GGXAMB 的组合可以返回GG 的系数,例如 CC + CS 在GG 中为您提供COBB,从而使您的 3 个系数变得多余。这将导致估计系数的问题。在这种情况下,效果是AMBSTRESS 得到一个小值,其余为 NA。

您可以在this discussionmaybe this 中阅读有关它的信息,这个术语是全排名矩阵。

要回答您的问题,您应该使用aov(ATF6.M ~ GG*AMB, data)aov(ATF6.M ~ GG+AMB+GG:AMB, data),它来自于在一个完整排名的矩阵上拟合一个线性模型,并且所有系数都是可估计的(从上面可以看到)。

【讨论】:

  • 你们太棒了。再次感谢您帮助我们。
猜你喜欢
  • 2018-10-10
  • 2012-03-10
  • 2023-02-16
  • 1970-01-01
  • 2012-09-15
  • 1970-01-01
  • 2011-02-24
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多