我有一个7 x 3的矩阵,并且想使用软件包boot
进行置换测试。但是我很难定义统计数据。我想对每行的列进行置换(因此行保持固定),但是对于所有行的排列都不应相似(因此不要为所有行交换第一列和第二列)。
如果i
可以是索引的向量,我认为以下代码可以解决问题:
T.stat<-function(data,i)
{
d<-data
for(t in 1:7){
d[t,]<-data[t,i[t]]
}
av <- 1/3*(mean(d[,1])+mean(d[,2])+mean(d[,3]))
(mean(d[,1])-av)^2+(mean(d[,2])-av)^2+(mean(d[,3])-av)^2
}
B<-10000
trtA<-c(2.9,2.56,2.88,2.73,2.5,3.18,2.83)
trtB<-c(2.97,2.45,2.76,2.2,2.16,2.89,2.87)
trtC<-c(2.67,2.62,1.84,2.33,1.27,2.39,2.39)
trt<-data.frame(trtA,trtB,trtC)
perm.trt<-boot(trt,T.stat,R=B,sim="permutation")
但是我得到了错误:undefined columns selected
。
在此先感谢您的帮助。
编辑:我在上面的代码中添加了数据。