R中的双向重复测量方差分析

时间:2020-10-29 09:00:53

标签: r anova two-way

我一直在尝试对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

我应该以其他方式格式化数据吗?如果是这样,应该看起来如何?

1 个答案:

答案 0 :(得分:1)

问题是 Group 是一个科目之间的因素(每个ID在组1或2中,但不在两个组中都存在),但是您将其威胁为方差分析中的科目内因素电话。错误消息告诉您指定设计的数据不完整。

如果您以 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
相关问题