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


10

我的问题与先前的帖子非常相关,该帖子 在R中的重复度量ANOVA中指定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)始终是一回事吗?


3
抱歉,我只是意识到这两个术语给出的结果相同。所以我想它们是相同的:-)
tiantianchen

1
我希望对此进行解释:/
vipin8169 '17

我能收集到的关于误差项的全部>>>>“在重复测量设计中,我们需要指定一个误差项,以解释参与者之间的自然差异。(例如,我对恐怖音乐的反应可能与您的反应稍有不同。这样做是因为我爱僵尸电影,而您讨厌它们!)我们使用Error()函数来做到这一点:具体地说,我们是说我们要控制所有受试者内部变量的参与者之间差异。”
vipin8169

(+1)仅当每个主题/时间组合恰好有1个测量值时,它们才等效。如果每个受试者多个测量/时间的组合(或者简单地因为重复测量,或者因为有另一个受试者内因子B,除time),则Error(subject)Error(subject/time)将产生不同的F-和p值time
变形虫

SO上的相同问题:stackoverflow.com/questions/37497948-不幸的是,这两个问题都没有得到令人满意的答复(恕我直言)。
变形虫

Answers:


2

首先,嵌套在中的subject/time符号是,因此扩展为两部分,以及交互。因此,更恰当的问题是,什么时候应该指定交互作用,它有什么区别?timesubjectsubjectsubject:timesubject:time

在回答这个问题之前,还有一件重要的事情要实现,那就是所有模型都包含一个不需要指定的附加误差项,这是与各个测量相关的误差项(如果您是逐级考虑的,则是最低级别)。

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

但是,在每种subject/time组合中都有多个测量值的情况下,有必要指定subject:time交互作用,因为这样交互作用就不会处于最低水平。


+1,但我认为这个答案回避了这里可能存在的核心问题:每个subject/time组合都有多个测量值,为什么我们一定要想测试time相对subject:time互动的效果?从本质上讲,这是我的问题的内容stats.stackexchange.com/questions/286280,因此,我将邀请该线程的所有未来读者在这里寻找概念上的理由。
变形虫

另外,这里有一个非常相似的问与答:stats.stackexchange.com/questions/247582
变形虫
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.