首页 > 解决方案 > R函数将事后测试结果保存在数据框中

问题描述

大家好,我正在使用以下代码运行统计测试,并跟踪 Dunnetts-Test:

dun_4h_noS9 <- DunnettTest(x=fourh_noS9_table$MN_rate, g=fourh_noS9_table$Dose, control ="0")

效果很好,我得到了输出:

Dunnett's test for comparing several treatments with a control :  
    95% family-wise confidence level

$`0`
                  diff  lwr.ci  upr.ci   pval    
0.01-0          0.0667 -1.9119  2.0452 1.0000    
0.03-0          0.0167 -1.9619  1.9952 1.0000    
0.08-0         -0.0667 -2.0452  1.9119 1.0000    
0.25-0         -0.0333 -2.0119  1.9452 1.0000    
0.74-0          0.2222 -1.7563  2.2008 1.0000    
2.22-0          1.2833 -0.6952  3.2619 0.3704    
6.67-0          6.6056  4.6270  8.5841 <2e-16 ***
20-0           28.8853 26.9067 30.8639 <2e-16 ***
Mitomycin C -0 12.6833 10.7048 14.6619 <2e-16 ***

---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

当试图将该列表保存到 tibble 时,我不断丢失有关在测试中比较了哪些组以及意义(这不是什么大问题)的信息:

tibble <- map(dun_4h_noS9,~data.frame(.))
tibble<-map_dfr(tibble,~mutate_all(.,as.character))

输出:

 diff  lwr.ci  upr.ci   pval
1  0.0667 -1.9119  2.0452      1
2  0.0167 -1.9619  1.9952      1
3 -0.0667 -2.0452  1.9119      1
4 -0.0333 -2.0119  1.9452      1
5  0.2222 -1.7563  2.2008      1
6  1.2833 -0.6952  3.2619 0.3704
7  6.6056   4.627  8.5841      0
8 28.8853 26.9067 30.8639      0
9 12.6833 10.7048 14.6619      0

是否存在一种方法可以保存有关组比较的信息?

谢谢您的帮助

标签: r

解决方案


在您的情况下,您可以使用以下方法保存结果:

test_df <- data.frame(dun_4h_noS9$`0`)

test_df$comparisons <- row.names(test_df)

这会将结果存储为数据框,然后创建一个称为比较的新列,因为比较存储为行名称。考虑提供可重现的答案以获得更快更可靠的答案。


推荐阅读