t1way在输出

时间:2015-08-17 03:14:31

标签: r

我尝试使用t1way包中强大的ANOVA方法WRS2

一个问题是我不断获得其中包含NA的输出。它看起来像这样:

Test statistic: NA 
Degrees of Freedom 1: 17 
Degrees of Freedom 2: NA 
p-value: NA 

我不确定为什么会这样。数据集非常大,包含多个组。当我尝试模拟某些数据并运行测试时,有一些NAt1way似乎能够处理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()函数上找不到任何内容。

1 个答案:

答案 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以解决此问题。