我尝试使用t1way
包中强大的ANOVA方法WRS2
。
一个问题是我不断获得其中包含NA
的输出。它看起来像这样:
Test statistic: NA
Degrees of Freedom 1: 17
Degrees of Freedom 2: NA
p-value: NA
我不确定为什么会这样。数据集非常大,包含多个组。当我尝试模拟某些数据并运行测试时,有一些NA
但t1way
似乎能够处理NA
。另外,当我尝试去进行事后测试时(仅仅因为我想看看会发生什么),使用lincon()
函数,它会给我一个错误,说我有重复的行名。这个错误对我来说没有意义,因为每个组都被多次表示。有错误我一直在说这个:
data.frame出错(psihat = c(" 0.73800"," 0.43766"," 0.14644"," 0.43915&# 34;,:重复行。名称:OG与NA,DT与NA,OT与NA,C与NA,QB与NA,OLB与NA,DE与NA,TE与NA,RB与NA,WR与NA,ILB与NA,FB与NA,CB与NA,FS与NA,SS与NA,NA与NA此外:有50或更多警告(使用警告()看第50页
我已经模拟了我的数据格式的一个例子,虽然小得多,但似乎工作得很好:
set.seed(333)
Score1 <- rnorm(n = 50, mean = 25, sd = 12)
Score2 <- rnorm(n = 50, mean = 32, sd = 6)
Score3 <- rnorm(n = 20, mean = 10, sd = 8)
Score <- c(Score1, Score2, Score3)
Group <- rep(c("Group 1", "Group 2", "Group 3"), c(50,50,20))
df <- data.frame(Group, Score)
df
library(WRS2)
t1way(Score ~ Group, data = df, tr = 0.2)
lincon(Score ~ Group, data = df, tr = 0.2)
我希望别人可能有类似的问题或者可以提供一些帮助。我搜索了网站,但在t1way()
函数上找不到任何内容。
答案 0 :(得分:2)
问题似乎是您的分组变量中的级别未在样本中表示。例如,如果您使用
制作样本数据Group <- factor(rep(c("Group 1", "Group 2", "Group 3"), c(50,50,20)),
levels=paste("Group", 1:4))
你会重现错误。在您的代码中,尝试使用droplevels
t1way(Score ~ Group, data = droplevels(df), tr = 0.2)
通过更改t1way
以包含选项split
,可以修复函数drop=TRUE
以解决此问题。