r - 如何更正箱线图的标签获取 R 中每对的 p 值
问题描述
我有一个数据样本如下:
df <- tribble(
~capacity1, ~capacity2, ~capacity3, ~capacity4, ~capacity5, ~capacity6, ~capacity7, ~capapcity8,
75, 88, 85, 71, 98, 76, 71, 57,
80, 51, 84, 72, 59, 81, 70, 64,
54, 65, 90, 66, 93, 88, 77, 59,
59, 87, 94, 75, 74, 53, 56, 87,
52, 55, 64, 77, 50, 64, 83, 87,
33,22,66,67,99,87,40,90,)
我想得到下图。
如您所见,容量 1 与容量 2 一起生成一个标签作为容量 1。容量 3,容量 4=容量 2,容量 5 和容量 6=容量 3,容量 7,容量 8=容量 4。接下来,我想获得 p 值。如果我们可以订购每对盒子(例如,容量 1 和容量 2=容量 1),那就太好了。
解决方案
list
如果我们需要成对图,我们可以为每对列拆分成一个数据集,然后使用ggboxplot
fromggpubr
library(dplyr)
library(tidyr)
library(purrr)
library(patchwork)
library(rstatix)
library(ggpubr)
lst1 <- df %>%
# // split every 2 columns
split.default(as.integer(gl(ncol(.), 2, ncol(.)))) %>%
# // loop over the list
map(~ {
# // reshape to long format
dat <- pivot_longer(.x, everything())
# // get the t.test p value
stat_test <- dat %>%
t_test(value ~ name)%>%
adjust_pvalue(method = "bonferroni") %>%
add_significance("p.adj") %>%
add_xy_position(x = "name")
# // create the boxplot
ggboxplot(dat, x = 'name', y = 'value')+
stat_pvalue_manual(stat_test,
label = "p.adj", tip.length = 0.01)
})
wrap_plots
现在,我们用from包装地块列表patchwork
wrap_plots(lst1)
-输出
推荐阅读
- reactjs - componentDidMount() 在 reactJs v15.x 中不起作用
- java - 我可以制作一个始终运行语音识别的后台服务吗
- ios - Not able to set proportional height for a UIView in storyboard in Xcode 11
- python - 如何以 10 个字符的行显示字符串
- c - 当使用 write() 作为参数时,来自 printf 的数据被写入文件
- linux - 在 Kubernetes 的工作节点之间共享存储?
- cakephp - CakeDC 用户插件未读取 permissions.php
- javascript - 在 Adobe 表单填写中通过 JavaScript 计算的小数小时数错误
- php - 为什么 PHP 标头重定向在移动设备上不起作用
- flutter - Flutter:只有部分阴影的材质