gpt4 book ai didi

r - pairwise.wilcox.test - 重新格式化输出

转载 作者:行者123 更新时间:2023-12-04 17:39:23 25 4
gpt4 key购买 nike

这是测试的正常输出:

attach(airquality)
pw <- pairwise.wilcox.test(Ozone, Month, p.adj = "bonf")
pw

data: Ozone and Month

May Jun Jul Aug
Jun 1.0000 - - -
Jul 0.0003 0.1414 - -
Aug 0.0012 0.2591 1.0000 -
Sep 1.0000 1.0000 0.0074 0.0325

我最近不得不对一个因子进行 10 个级别的测试。虽然pairwise.wilcox.test 的下三角格式有用且简洁,但我认为以类似于Tukey HSD 输出的方式排列它会很方便,其中列出了每个成对组合及其相关的p 值。这是我尝试这样做:
pw.df <- as.data.frame(pw$p.value)
pw.diff <- vector("character")
pw.pval <- vector("numeric")
for (i in 1:ncol(pw.df) )
for (j in i:length(pw.df) ) {
pw.diff <- c(pw.diff,paste(colnames(pw.df[i]),"-",rownames(pw.df)[j]))
pw.pval <- c(pw.pval,pw.df[j,i])
}


# order them by ascending p value
v <- order(pw.pval,decreasing = F)
pw.df <- data.frame(pw.diff[v],pw.pval[v])


# display those that are significant at the 5% level
pw.df[pw.df$pw.pval<0.05,]

pw.diff.v. pw.pval.v.
1 May - Jul 0.000299639
2 May - Aug 0.001208078
3 Jul - Sep 0.007442604
4 Aug - Sep 0.032479550

如果有人对如何使这更容易和/或更优雅有一些提示/技巧/建议,我将不胜感激。

最佳答案

我会使用 reshapereshape2此任务的包,特别是 melt()命令。 pairwise.wilcox.test 返回的对象包含第三个槽中感兴趣的数据,所以类似 melt(pw[[3]])应该做的伎俩:

    X1  X2       value
1 Jun May 1.000000000
2 Jul May 0.000299639
3 Aug May 0.001208078
4 Sep May 1.000000000
5 Jun Jun NA
....

关于r - pairwise.wilcox.test - 重新格式化输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7868510/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com