将 wilcox.test 应用于数据框中的所有成对列
Apply wilcox.test to all paired columns in a dataframe
为了我的M.Sc。项目我尝试按中位数对(由用户)给定数据框的所有列进行排序,按特定模式(稍后提到)在列上应用 wilcox.test,然后将每列的值绘制在盒须中 -剧情.
排序和绘图工作得很好,但我很难找到一种方法将 wilcox.test 应用于以下模式中的数据框:
wilcox.test(i, j, paired=TRUE)
而 i=1
和 j=2
并且都递增直到 j=ncol(dataframe)
。所以我想 运行 参数为第 1 列和第 2 列的函数,然后是第 2 列和第 3 列等等,直到 j
是数据帧的最后一列。
我也想将所有 p 值存储在一个数据框中,一行(包含 p 值)并且每一行都有两列的名称,它们是 wilcox.test 中的参数,因为我不仅想绘制所有列(每个列代表一个“解决方案”),而且我也想在控制台中打印每个测试的 p 值(类似于:“Wilcoxon-test with 'Solution1' 和 'Solution2' 导致 p 值:'p-value from wilcox.test of Solution1 and Solution2',这意味着解决方案 are/aren 没有明显不同”)。
关于这个问题,我试图调整其他帖子中的一些代码,但没有任何效果。不幸的是,我在 R 方面也非常缺乏经验,所以我希望我上面写的也不是胡说八道。
我也尝试以 java 方式使用 for 循环和增量遍历数据帧的列,因为这是我教过的唯一编程语言,但这根本不起作用(真令人惊讶).
我的代码基于具有非常不同值的数据框创建的图:
感谢你们给我的任何建议,非常感谢!
似乎是 matrixTests
包的工作。这是使用 iris
数据集的演示:
library(matrixTests)
col_wilcoxon_twosample(iris[,1:3], iris[,2:4])
obs.x obs.y obs.tot statistic pvalue alternative location.null exact corrected
Sepal.Length 150 150 300 22497.5 9.812123e-51 two.sided 0 FALSE TRUE
Sepal.Width 150 150 300 7793.5 4.151103e-06 two.sided 0 FALSE TRUE
Petal.Length 150 150 300 19348.5 3.735718e-27 two.sided 0 FALSE TRUE
返回的结果匹配 wilcox.test()
每对完成的结果。例如,第一列与第二列:
w <- wilcox.test(iris[,1], iris[,2])
w$p.value
[1] 9.812123e-51
为了我的M.Sc。项目我尝试按中位数对(由用户)给定数据框的所有列进行排序,按特定模式(稍后提到)在列上应用 wilcox.test,然后将每列的值绘制在盒须中 -剧情.
排序和绘图工作得很好,但我很难找到一种方法将 wilcox.test 应用于以下模式中的数据框:
wilcox.test(i, j, paired=TRUE)
而 i=1
和 j=2
并且都递增直到 j=ncol(dataframe)
。所以我想 运行 参数为第 1 列和第 2 列的函数,然后是第 2 列和第 3 列等等,直到 j
是数据帧的最后一列。
我也想将所有 p 值存储在一个数据框中,一行(包含 p 值)并且每一行都有两列的名称,它们是 wilcox.test 中的参数,因为我不仅想绘制所有列(每个列代表一个“解决方案”),而且我也想在控制台中打印每个测试的 p 值(类似于:“Wilcoxon-test with 'Solution1' 和 'Solution2' 导致 p 值:'p-value from wilcox.test of Solution1 and Solution2',这意味着解决方案 are/aren 没有明显不同”)。
关于这个问题,我试图调整其他帖子中的一些代码,但没有任何效果。不幸的是,我在 R 方面也非常缺乏经验,所以我希望我上面写的也不是胡说八道。 我也尝试以 java 方式使用 for 循环和增量遍历数据帧的列,因为这是我教过的唯一编程语言,但这根本不起作用(真令人惊讶).
我的代码基于具有非常不同值的数据框创建的图:
感谢你们给我的任何建议,非常感谢!
似乎是 matrixTests
包的工作。这是使用 iris
数据集的演示:
library(matrixTests)
col_wilcoxon_twosample(iris[,1:3], iris[,2:4])
obs.x obs.y obs.tot statistic pvalue alternative location.null exact corrected
Sepal.Length 150 150 300 22497.5 9.812123e-51 two.sided 0 FALSE TRUE
Sepal.Width 150 150 300 7793.5 4.151103e-06 two.sided 0 FALSE TRUE
Petal.Length 150 150 300 19348.5 3.735718e-27 two.sided 0 FALSE TRUE
返回的结果匹配 wilcox.test()
每对完成的结果。例如,第一列与第二列:
w <- wilcox.test(iris[,1], iris[,2])
w$p.value
[1] 9.812123e-51