【发布时间】:2017-03-13 04:29:30
【问题描述】:
我有一个由 50 个学生(行)组成的数据集,每个学生有 15 个分数(列,1-5 分的分数),我正在尝试做几件事。首先,我试图从原来的 15 分中为每个学生生成 10 分的所有可能组合。然后,我试图针对原始的 15 分集对每个分数组合进行 Wilcoxon 测试(我相信 Mann-Whitney U)让学生确定哪些组合显着不同。到目前为止,我在 R 中编写的代码与循环一起发布在下面,以对每个组合运行测试,但我不断收到错误“错误没有足够(有限)观察”,我不确定我是否正在这样做适当地。我尝试了 as.numeric() ,但似乎仍然没有解决它。该代码似乎可以很好地生成组合,我只是无法让测试正常工作。感谢所有帮助,完全准备好被告知我做错了,非常感谢整理代码的智慧。
m<-10
n<-choose(15,m)
for(j in 1:50)
{df3 <- expand.grid(combn(data[j,],m))
x<-(length = 0)
for(i in 1:n)
{niceArray <- c(df3[1,(m*(i-1)+1)],df3[1,(m*(i-1)+2)],df3[1,(m*(i- 1)+3)],df3[1,(m*(i-1)+4)],df3[1,(m*(i-1)+5)],df3[1,(m*(i-1)+6)],df3[1,(m*(i-1)+7)],df3[1,(m*(i-1)+8)],df3[1,(m*(i-1)+9)],df3[1,(m*(i-1)+10)])
tst<-wilcox.test(niceArray, as.numeric(data[j,]), alternative="two.sided", paired=FALSE)
if(tst$p.value<0.05)
{print(tst$p.value)
x<-append(x,1,after=length(x))}}
print(length(x)-1)}
【问题讨论】:
标签: r