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

使用dplyr执行t检验时如何新增两组对应标准差sd1、sd2列

R分组两样本t检验新增两组标准差列的实现方法

依赖包

需要提前加载dplyr和broom包:

library(dplyr)
library(broom)

核心实现代码

# df为你的原始数据集
stat_result <- df %>%
  # 按指定维度分组
  group_by(external, instrument) %>%
  summarise(
    # 计算group=1的均值、标准差,自动处理缺失值
    mean1 = mean(changescore[group == 1], na.rm = TRUE),
    sd1 = sd(changescore[group == 1], na.rm = TRUE),
    # 计算group=0的均值、标准差
    mean2 = mean(changescore[group == 0], na.rm = TRUE),
    sd2 = sd(changescore[group == 0], na.rm = TRUE),
    # 执行两样本t检验并输出结构化结果
    broom::tidy(t.test(changescore ~ group, data = cur_data()))
  )

问题排查说明

之前出现NA或重复值的常见原因:

  • 计算标准差时未添加na.rm = TRUE参数,数据存在缺失值时直接返回NA
  • 计算标准差时未按group取值筛选子集,直接用全组的标准差重复赋值给sd1、sd2

结果使用说明

输出结果中已包含两组的均值、标准差,以及t检验的统计量、p值、置信区间等所有统计字段,可直接拼接为mean1 (sd1)、mean2 (sd2)的标准统计描述格式。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 22:06:03