You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何从多组数据中选取指定两组开展t检验并绘制条形图

R代码调整及操作指引
  • 前置依赖安装
    首次运行前先安装所需工具包,运行以下代码:
    install.packages(c("ggpubr", "rstatix", "xlsx", "patchwork", "dplyr"))
    
    若xlsx包因Java环境异常安装失败,可替换为无Java依赖的readxl包,安装命令为install.packages("readxl")。
  • 核心逻辑调整说明
    1. 新增分组筛选:原有代码未做数据过滤,会对全部分组进行检验绘图,需在读取数据后新增筛选步骤,仅保留需要对比的两组(示例为O1和S_O5),调整对比组时直接修改c("O1", "S_O5")内的分组名即可。
    2. 图形类型适配:原有代码生成的是箱线图,如需改为条形图,将ggboxplot替换为ggbarplot即可,可通过add参数设置误差线样式。
    3. 指标替换:如需分析其他指标,替换代码中所有Moisture_content为对应指标的列名即可。
# 加载依赖包
library(ggpubr)
library(rstatix)
library(xlsx)
library(patchwork)
library(dplyr)

# 读取数据
df <- read.xlsx("umar_02.xlsx", header = T, 1)
# 若使用readxl包读取,替换为以下代码:
# library(readxl)
# df <- read_excel("umar_02.xlsx", sheet = 1)

# 筛选指定对比分组,可自行修改括号内的分组名称
df_filter <- df %>% 
  filter(substrate %in% c("O1", "S_O5"))

# 执行两组t检验并添加显著性标记
stat.test <- df_filter %>%
  t_test(Moisture_content ~ substrate) %>%
  add_significance()
# 控制台输出t检验结果
stat.test

# 绘制条形图(如需换回箱线图,将ggbarplot改为ggboxplot即可)
plot1 <- ggbarplot(df_filter, x = "substrate", y = "Moisture_content", fill = "substrate", 
                   palette = c("#00AFBB", "#E7B800"), width = 0.35,
                   add = "mean_se") # add参数指定添加均值±标准误误差线

# 添加显著性p值并调整画布样式
stat.test <- stat.test %>% add_xy_position(x = "substrate")
plot1 + 
  stat_pvalue_manual(stat.test, label = "p = {p}") +
  scale_y_continuous(expand = expansion(mult = c(0.05, 0.1)))+
  theme(
    aspect.ratio = 3
  )

注意事项:

  1. 需保证Excel文件umar_02.xlsx放在R当前工作目录下,或读取时填写文件的完整绝对路径
  2. 筛选的分组名称需要和数据中substrate列的内容完全一致,区分大小写和特殊符号

内容的提问来源于stack exchange,提问作者Umar KHAN

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.06 05:57:04