[英]Two-way repeated measures ANOVA in R
我一直在尝试在 R 中对虚构数据集进行双向重复测量 ANOVA 以学习统计数据。 我以前问过这个问题,但我不得不调整我的数据集,因为我犯了一些关键错误。 它代表了两个学生,他们在两年内在两个测试变体的测试中获得了评分。 尽管该练习应该很简单,但我还是不断收到错误消息。 这是我的数据集:
ID Score Time Group
<fct> <int> <fct> <fct>
1 10 1 1
1 15 2 1
2 2 1 1
2 5 2 1
3 7 1 1
3 8 2 1
4 6 1 2
4 8 2 2
5 9 1 2
5 4 2 2
6 3 1 2
6 12 2 2
我尝试了几种方法:
aov<- df %>% anova_test(Score~ Time*Group+ Error(ID/(Time*Group)))
ezANOVA(
data = df, dv = Score, wid = ID,
within = .(Time, Group), type = 3)
resaov <- anova_test(
data = df, dv = Score, wid = ID,
within = c(Time, Group))
我得到的错误信息是:
Error in lm.fit(x, y, offset = offset, singular.ok = singular.ok, ...) :
0 (non-NA) cases
我应该以不同的方式格式化我的数据吗? 如果是这样,它应该怎么看?
问题是Group是一个主体间因子(每个 ID 要么在 group 1 中要么在 group 2 中,但不在两者中),但是你在 anova 调用中威胁它作为一个主体内因子。 错误消息告诉您指定设计的数据不完整。
如果您使用Group作为中间因子指定设计,则它有效。
#packages
library(tidyr)
library(ez)
library(rstatix)
#create your data frame (with random Score values)
df <- tibble(ID = as.factor(rep(1:6, each = 2)),
Score = sample(1:15, 12, replace = TRUE),
Time = as.factor(rep(1:2, times = 6)),
Group = as.factor(rep(1:2, each = 6)))
#ezANOVA
ezANOVA(
data = df, dv = Score, wid = ID,
within = Time, between = Group, type = 3)
$ANOVA
Effect DFn DFd F p p<.05 ges
2 Group 1 4 0.1290323 0.7375971 0.02787456
3 Time 1 4 4.1290323 0.1119574 0.10289389
4 Group:Time 1 4 0.5806452 0.4885138 0.01587302
#anova_test #1
anova_test(data = df, formula = Score ~ Time*Group + Error(ID/Time))
ANOVA Table (type II tests)
Effect DFn DFd F p p<.05 ges
1 Group 1 4 0.129 0.738 0.028
2 Time 1 4 4.129 0.112 0.103
3 Group:Time 1 4 0.581 0.489 0.016
#anova_test #2
df %>% anova_test(Score~ Time*Group+ Error(ID/Time))
ANOVA Table (type II tests)
Effect DFn DFd F p p<.05 ges
1 Group 1 4 0.129 0.738 0.028
2 Time 1 4 4.129 0.112 0.103
3 Group:Time 1 4 0.581 0.489 0.016
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.