【问题标题】:Converting Wilcox Test Output to Data Frame R将 Wilcox 测试输出转换为数据框 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 值?

【问题讨论】:

    标签: r broom


    【解决方案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 日创建

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-12-20
      • 2013-06-27
      • 2017-10-19
      • 1970-01-01
      • 2018-08-02
      • 1970-01-01
      • 2018-09-01
      相关资源
      最近更新 更多