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

R语言中求均值的均值与标准差的更优雅写法咨询

优化后的简洁实现方案

核心需求简化版(仅计算组均值的均值和标准差)

如果你的目标只是得到均值的均值和均值的标准差,不需要保留每个组的标准差、中位数等额外统计量,可以直接简化成一条管道链,省去中间变量:

datz2 %>%
  group_by(profile_name) %>%
  summarize(group_avg = mean(average_hr_times_min, na.rm = TRUE)) %>%
  ungroup() %>%
  summarize(mean_of_means = mean(group_avg),
            sd_of_means = sd(group_avg))

保留组统计量的完整版

如果需要保留每个组的均值、标准差、中位数,同时得到汇总的两个统计量,可以这样写,避免重复计算:

datz2 %>%
  group_by(profile_name) %>%
  summarize(average = mean(average_hr_times_min, na.rm = TRUE),
            sd = sd(average_hr_times_min, na.rm = TRUE),
            median = median(average_hr_times_min, na.rm = TRUE)) %>%
  ungroup() %>%
  # 一次性计算汇总统计量,无需分开两次summarize
  summarize(mean_of_mean = mean(average),
            sd_of_mean = sd(average),
            .groups = "drop")

优化点说明

  • 用管道操作串联所有步骤,无需单独定义grouped_df、summarized_df等中间变量,逻辑更连贯
  • 合并了原代码中两次独立的summarize操作,一次算出两个目标统计量,减少重复代码
  • 去掉了非必需的glimpse(如果需要调试分组结果,可在group_by后添加%>% glimpse())

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.24 21:54:16