我是 R 编程的新手,在分析代谢组学数据时寻求帮助 - 118 种代谢物,4 个条件(每个条件 3 个重复)。我想知道,对于每种代谢物,哪个条件与哪个条件显着不同。这是我的部分数据
> head(mydata)
Conditions HMDB03331 HMDB00699 HMDB00606 HMDB00707 HMDB00725 HMDB00017 HMDB01173
1 DMSO_BASAL 0.001289121 0.001578235 0.001612297 0.0007772231 3.475837e-06 0.0001221674 0.02691318
2 DMSO_BASAL 0.001158363 0.001413287 0.001541713 0.0007278363 3.345166e-04 0.0001037669 0.03471329
3 DMSO_BASAL 0.001043537 0.002380287 0.001240891 0.0008595932 4.007387e-04 0.0002033625 0.07426482
4 DMSO_G30 0.001195253 0.002338346 0.002133992 0.0007924157 4.189224e-06 0.0002131131 0.05000778
5 DMSO_G30 0.001511538 0.002264779 0.002535853 0.0011580857 3.639661e-06 0.0001700157 0.02657079
6 DMSO_G30 0.001554804 0.001262859 0.002047611 0.0008419137 6.350990e-04 0.0000851638 0.04752020
这就是我到目前为止所拥有的。
我从这篇文章中学到了第一行
kwtest_pvl = apply(mydata[,-1], 2, function(x) kruskal.test(x,as.factor(mydata$Conditions))$p.value)
这就是我遍历过去 KW 测试的代谢物的地方
tCol = colnames(mydata[,-1])[kwtest_pvl <= 0.05]
for (k in tCol){
output = posthoc.kruskal.dunn.test(mydata[,k],as.factor(mydata$Conditions),p.adjust.method = "BH")
}
我不确定如何管理我的output
,以便更容易管理通过 KW 测试的所有代谢物。也许保存每次迭代的输出附加到excel?我还尝试了 dunn.test 包,因为它具有表格或列表输出选项。但是,它仍然让我停留在同一点上。有点卡在这里。
此外,我是否还应该在 KW 测试之后执行某种调整后的 p 值,即 FWER、FDR、BH - 在执行事后测试之前?
任何建议将不胜感激。