如何在 R 中的重复测量方差分析中编写错误项:错误(主题)与错误(主题/时间)

机器算法验证 r 方差分析 重复测量
2022-03-11 23:38:55

我的问题与上一篇文章在 R 中的重复测量方差分析中指定 Error() 项密切相关 但是,我想更深入地了解如何定义错误术语。

假设我有一个双向重复方差分析,组间效应的因素是治疗(对照与安慰剂),而时间是组内效应重复测量超过 4 次(T1~T4)。患者 ID 记录为主题。在这里,我从http://gjkerns.github.io/R/2012/01/20/power-sample-size.html教程中的示例中借用了数据, 因此数据看起来像这样

 Time Subject Method      NDI
 0min    1     Treat 51.01078
 15min   1     Treat 47.12314
 48hrs   1     Treat 26.63542
 96hrs   1     Treat 20.78196
 0min    2     Treat 42.61345
 15min   2     Treat 32.77171

应用方差分析:

aovComp <- aov(NDI ~ Time*Method + Error(Subject/Time), theData)
summary(aovComp)
Error: Subject
          Df Sum Sq Mean Sq F value Pr(>F)
Method     1    113   112.7   0.481  0.491
Residuals 58  13579   234.1              

Error: Subject:Time        
            Df Sum Sq Mean Sq F value  Pr(>F)    
Time          3  13963    4654 103.789 < 2e-16 ***
Time:Method   3   1221     407   9.074 1.3e-05 ***
Residuals   174   7803      45 

我还尝试了另一个错误术语:

aovComp1 <- aov(NDI ~ Time*Method + Error(Subject), theData)
summary(aovComp1)

Error: Subject      
          Df Sum Sq Mean Sq F value Pr(>F)
Method     1    113   112.7   0.481  0.491
Residuals 58  13579   234.1               

Error: Within
             Df Sum Sq Mean Sq F value  Pr(>F)    
Time          3  13963    4654 103.789 < 2e-16 ***
Time:Method   3   1221     407   9.074 1.3e-05 ***
Residuals   174   7803      45

有人可以帮我解释这两个错误术语之间的区别吗?如果第一项是正确的,那么第二个错误项的结果是什么意思?

@amoeba 更新:这两个输出是相同的,所以在这种情况下似乎没有区别,但问题仍然是原则上的区别是什么。Error(subject)Error(subject/time)总是一样的东西吗

1个回答

首先,subject/timetime嵌套在的符号subject,因此扩展到两部分,subject以及subject:time交互。所以问题更恰当地变成了,什么时候应该指定subject:time交互,它有什么区别?

在回答这个问题之前,需要意识到的另一件重要事情是,所有模型都包含一个不需要指定的附加误差项,它是与单个测量相关的误差项(最低级别,如果您从层次上考虑这一点)。

在这种情况下,subject:time交互是最低级别,始终包含在模型中。所以使用Error(subject)Error(subject/time)给出相同的结果;唯一的区别是,在输出中,Within第一个调用该级别的结果subject:time,第二个调用该级别的结果。

但是,在每个subject/time组合有多个测量值的情况下,有必要指定subject:time交互作用,因为交互作用不在最低级别。