将 Wilcox 测试输出转换为数据框 R
Posted
技术标签:
【中文标题】将 Wilcox 测试输出转换为数据框 R【英文标题】:Converting Wilcox Test Output to Data Frame R 【发布时间】:2022-01-23 07:49:27 【问题描述】:我正在使用以下代码在 R 中迭代 Mann-Whitney 测试:
x <- replicate(100,
sample <- sample_n(foldchange_all_df, 25)
sample_nm <- as.numeric(unlist(sample))
test <- wilcox.test(sample_nm,baselist_nm, exact = FALSE)
)
我得到一个具有以下输出格式的列表输出 100 次:
Wilcoxon rank sum test with continuity correction
data: sample_nm and baselist_nm
W = 209, p-value = 0.04566
alternative hypothesis: true location shift is not equal to 0
我知道扫帚包的功能
tidy()
将此输出放入单个测试的数据帧格式中。
如何将列表中的所有 100 个输出组合到一个数据框中,以便获取所有 p 值?
【问题讨论】:
【参考方案1】:如果你在replicate
中使用simplify = FALSE
,你会得到一个列表,你可以用tidy
函数映射它然后rbind。 map_dfr
一步完成映射和 rbind-ing。
library(broom)
library(purrr)
out <-
replicate(100,
wilcox.test(runif(100),runif(100), exact = FALSE)
, simplify = FALSE) %>%
map_dfr(tidy)
head(out)
#> # A tibble: 6 × 4
#> statistic p.value method alternative
#> <dbl> <dbl> <chr> <chr>
#> 1 5087 0.833 Wilcoxon rank sum test with continuity correcti… two.sided
#> 2 4564 0.287 Wilcoxon rank sum test with continuity correcti… two.sided
#> 3 4063 0.0221 Wilcoxon rank sum test with continuity correcti… two.sided
#> 4 4781 0.593 Wilcoxon rank sum test with continuity correcti… two.sided
#> 5 5751 0.0667 Wilcoxon rank sum test with continuity correcti… two.sided
#> 6 5221 0.590 Wilcoxon rank sum test with continuity correcti… two.sided
由reprex package (v2.0.1) 于 2021 年 12 月 21 日创建
【讨论】:
以上是关于将 Wilcox 测试输出转换为数据框 R的主要内容,如果未能解决你的问题,请参考以下文章