R语言函数:分组数据比较与显著性检验柱状图绘制
以下是一个用R语言编写的函数,可以对数据进行分组,对分组后的数据进行两两比较并进行显著性检验,并使用ggpubr包绘制柱状图,添加误差线和p值。
library(ggpubr)
library(dplyr)
my_function <- function(data, group_var, value_var) {
# 对数据进行分组
grouped_data <- data %>% group_by(!!sym(group_var))
# 对分组后的数据进行两两比较,并作显著性检验
pairwise_test <- pairwise.t.test(grouped_data[[value_var]], grouped_data[[group_var]], paired = FALSE)
# 用ggpubr绘制柱状图,添加误差线和pvalue
ggboxplot(data, x = group_var, y = value_var,
color = group_var, palette = 'jco',
ylab = value_var, xlab = group_var) +
stat_compare_means(comparisons = pairwise_test$comparison, label = 'p.adj', method = 'bonferroni') +
geom_errorbar(aes(ymin = ..y.. - ..ymin.., ymax = ..ymax.. - ..y..),
width = 0.2, position = position_dodge(0.9)) +
theme_bw()
}
# 使用示例
data(mtcars)
my_function(mtcars, 'cyl', 'mpg')
函数实现过程解释:
- 参数: 函数接受三个参数:
data数据集,group_var分组变量,value_var数值变量。 - 分组: 使用
dplyr库的group_by函数对数据按照group_var进行分组。 - 两两比较和显著性检验: 使用
pairwise.t.test函数对分组后的数据进行两两比较,并得到显著性检验结果。 - 柱状图绘制: 使用
ggpubr库的ggboxplot函数绘制柱状图,并添加误差线和p值。stat_compare_means函数添加p值,并使用bonferroni方法进行校正。geom_errorbar函数添加误差线。
- 返回结果: 函数返回绘制好的图表。
使用示例:
代码示例中,我们使用 mtcars 数据集,按照 cyl 变量进行分组,比较不同气缸数的车辆 mpg 的差异,并绘制了柱状图。
应用场景:
该函数可用于分析不同组别之间数值变量的差异,并通过柱状图直观地展现结果,适用于生物学、医学、社会学等领域的数据分析和可视化。
原文地址: https://www.cveoy.top/t/topic/lC2L 著作权归作者所有。请勿转载和采集!