Wilcoxon测试大型数据集算法

时间:2014-03-10 15:16:50

标签: r dataset comparison

我有一个大型数据集:每行都是一个样本,每列都是一个特征。然而,第一列填充了类因子(这里是1,2,3,4,5)。我的目标是对所有类别(所有组合1,2:1,3; 1,4; 1,5; 2,3 ......)进行wilcoxon比较。这是我为此做的代码(X是数据帧)

facs <- length(levels(factor(X[,1])))

v <- matrix(as.character(combn(facs,2)),ncol=facs*2)

vecBoh <- data.frame(row.names=paste(v[1,],"-",v[2,]))

for(i in 2:ncol(X))
{
     WilF <- function(coppie)  wilcox.test(X[,i] ~ Class, data=X, subset = Class %in% coppie)

     vecBoh[,i-1] <- as.numeric(sapply(apply(v,2,WilF),"[",3))
}

它有效,但速度极慢。我觉得有一种更快的方法可以做到这一点。有没有人有线索?

1 个答案:

答案 0 :(得分:0)

您可以使用pairwise.wilcox.test功能进行群组之间的成对比较,我认为之前阅读multiple comparison可以提供帮助。

lapply(df[,-1], function(x) 
                  pairwise.wilcox.test(x, df$Class, p.adjust.method = "none"))

df <{1}}是data.frame