如何执行kruskal-wallis测试的循环,在不更改pvalue的情况下比较多个列上的3个组?

如何执行kruskal-wallis测试的循环,在不更改pvalue的情况下比较多个列上的3个组?,r,multivariate-testing,pairwise,kruskal-wallis,R,Multivariate Testing,Pairwise,Kruskal Wallis,我对R相当陌生,我正在尝试进行kruskal-wallis测试,看看三组人在观察不同基因时是否存在差异。我有3组127种蛋白质。我已经能够创建一个代码来实现这一点 样本数据“ groups我在隔离kruskal测试线时没有得到您的结果 df <- mydata i <- 2 kruskal.test(df[,i], df[,1], data = df, paired=FALSE, p.adjust.methods="none") # # Kruskal-Wallis rank

我对R相当陌生,我正在尝试进行kruskal-wallis测试,看看三组人在观察不同基因时是否存在差异。我有3组127种蛋白质。我已经能够创建一个代码来实现这一点

样本数据“


groups我在隔离kruskal测试线时没有得到您的结果

df <- mydata
i <- 2
kruskal.test(df[,i], df[,1], data = df, paired=FALSE, p.adjust.methods="none")
# 
#   Kruskal-Wallis rank sum test
# 
# data:  df[, i] and df[, 1]
# Kruskal-Wallis chi-squared = 0.66988, df = 2, p-value = 0.7154

当我隔离kruskal测试线时,我没有得到你的结果

df <- mydata
i <- 2
kruskal.test(df[,i], df[,1], data = df, paired=FALSE, p.adjust.methods="none")
# 
#   Kruskal-Wallis rank sum test
# 
# data:  df[, i] and df[, 1]
# Kruskal-Wallis chi-squared = 0.66988, df = 2, p-value = 0.7154

欢迎使用stackoverflow。如果您需要提供可用形式的数据样本,您可能会得到更好的答案。请对数据样本使用
dput()
,而不是数据图片。当列组中存在联系(如数据中存在联系)时,任何非参数测试都将难以计算p值。最后,您对
kruskal.test
的调用是错误的,应该会产生错误消息,除非您使用了来自不同软件包的版本而不是基函数。@dcarlson您好,感谢您抽出时间来查看我的问题。我已对其进行了编辑,并创建了一个更有用的示例。此外,正如您指出的,我的数据,但我不明白,如果我使用其他在线计算得到相同的答案,循环时为什么会影响输出。我使用base R运行测试,这是我使用的代码的最后版本,我添加了(“paired=FALSE,p.adjust.methods=“none”)因为我想知道,当kruskal测试一次只做一个基因时,Pv值是否类似。这是错误的部分还是我的全部代码?我来看看stackoverflow。对于这个问题,您可能会得到更好的答案,因为您需要以可用的形式提供数据样本。对数据样本使用
dput()
,而不是对数据图片使用。当列组中存在联系(如数据中存在联系)时,任何非参数测试都难以计算p值。最后,您对
kruskal.test
的调用是错误的,应该会产生一条错误消息,除非您使用的是来自不同软件包的版本而不是基函数。@dcarlson您好,感谢您抽出时间来查看我的问题。我对它进行了编辑,并创建了一个更有用的示例。另外,正如你所指出的,我的数据中存在联系,但我不明白如果我使用其他在线计算得到相同的答案,那么在循环时为什么会影响输出。我使用base R来运行测试,这是我使用的代码的最后一个版本,我添加了(“paired=FALSE,p.adjust.methods=“none”),因为我想看看当kruskal测试一次只做一个基因时,pValue是否类似。这是错误的部分还是我的整个代码?谢谢
pval <- sapply(2:6, function(x) kruskal.test(mydata[,x], mydata[,1])$p.value)
pval
# [1] 0.7153797 0.4424115 0.5360940 0.9816007 0.6118471