以下是一个用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')

函数实现过程解释:

  1. 参数: 函数接受三个参数:data 数据集,group_var 分组变量,value_var 数值变量。
  2. 分组: 使用 dplyr 库的 group_by 函数对数据按照 group_var 进行分组。
  3. 两两比较和显著性检验: 使用 pairwise.t.test 函数对分组后的数据进行两两比较,并得到显著性检验结果。
  4. 柱状图绘制: 使用 ggpubr 库的 ggboxplot 函数绘制柱状图,并添加误差线和p值。
    • stat_compare_means 函数添加p值,并使用 bonferroni 方法进行校正。
    • geom_errorbar 函数添加误差线。
  5. 返回结果: 函数返回绘制好的图表。

使用示例:

代码示例中,我们使用 mtcars 数据集,按照 cyl 变量进行分组,比较不同气缸数的车辆 mpg 的差异,并绘制了柱状图。

应用场景:

该函数可用于分析不同组别之间数值变量的差异,并通过柱状图直观地展现结果,适用于生物学、医学、社会学等领域的数据分析和可视化。

R语言函数:分组数据比较与显著性检验柱状图绘制

原文地址: https://www.cveoy.top/t/topic/lC2L 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录