首页 > 解决方案 > 我想在 r 中有两个组的列表上运行 emmeans_test

问题描述

我在普通数据框上使用的内容以及我想在列表中使用的内容:

emmeans_test<-
  data %>% 
  group_by(group1) %>% 
    emmeans_test(calc ~ group2,
                 p.adjust.method = "bonferroni")

我尝试了什么:

statistic<-lapply(list,
                       emmeans_test,
                       group_by=group1
                       calc ~ group2,
                       p.adjust.method = "bonferroni")

我只是不知道如何在列表中使用两个组和 emmeans 测试?

标签: r

解决方案


如果是list,则使用map

library(dplyr)
library(purrr)
library(rstatix)
out <-  map(lst1, ~ .x %>%
             group_by(group1) %>% 
             emmeans_test(calc ~ group2,
                 p.adjust.method = "bonferroni"))

可重现的例子

lst1  <- list(ToothGrowth, ToothGrowth)
out <-  map(lst1, ~ .x %>%
             group_by(supp) %>% 
             emmeans_test(len ~ dose, p.adjust.method = "bonferroni"))


out
[[1]]
# A tibble: 6 x 10
  supp  term  .y.   group1 group2    df statistic        p    p.adj p.adj.signif
* <chr> <chr> <chr> <chr>  <chr>  <dbl>     <dbl>    <dbl>    <dbl> <chr>       
1 OJ    dose  len   0.5    1         54     -5.83 3.18e- 7 9.53e- 7 ****        
2 OJ    dose  len   0.5    2         54     -7.90 1.43e-10 4.29e-10 ****        
3 OJ    dose  len   1      2         54     -2.07 4.34e- 2 1.30e- 1 ns          
4 VC    dose  len   0.5    1         54     -5.41 1.46e- 6 4.39e- 6 ****        
5 VC    dose  len   0.5    2         54    -11.2  1.13e-15 3.39e-15 ****        
6 VC    dose  len   1      2         54     -5.77 3.98e- 7 1.19e- 6 ****        

[[2]]
# A tibble: 6 x 10
  supp  term  .y.   group1 group2    df statistic        p    p.adj p.adj.signif
* <chr> <chr> <chr> <chr>  <chr>  <dbl>     <dbl>    <dbl>    <dbl> <chr>       
1 OJ    dose  len   0.5    1         54     -5.83 3.18e- 7 9.53e- 7 ****        
2 OJ    dose  len   0.5    2         54     -7.90 1.43e-10 4.29e-10 ****        
3 OJ    dose  len   1      2         54     -2.07 4.34e- 2 1.30e- 1 ns          
4 VC    dose  len   0.5    1         54     -5.41 1.46e- 6 4.39e- 6 ****        
5 VC    dose  len   0.5    2         54    -11.2  1.13e-15 3.39e-15 ****        
6 VC    dose  len   1      2         54     -5.77 3.98e- 7 1.19e- 6 ****        

推荐阅读