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

使用dplyr按x唯一值分组计算y标准差并生成汇总数据框

你之前搭配group_by使用mutate没有得到预期结果,原因是mutate只会在原数据集的每行新增列,不会执行分组聚合操作,要得到每个x唯一值对应一行的汇总结果,需要搭配summarise(或summarize)函数实现,完整实现代码如下:

# 加载dplyr包
library(dplyr)

# 构造示例数据集,实际使用时替换为你自己的数据集即可
df <- data.frame(
  ID = 1:6,
  x = c(1, 2, 3, 1, 2, 3),
  y = c(4, 3, 7, 2, 6, 8)
)

# 管道操作分组计算目标字段
result <- df %>%
  group_by(x) %>%
  summarise(
    count_y = n(), # 统计当前分组内y值的数量
    Std_Dev = round(sd(y, na.rm = TRUE), 2) # 计算y的标准差,保留2位小数
  )

# 输出结果
print(result)

运行后输出结果如下:

# A tibble: 3 × 3
      x count_y Std_Dev
  <dbl>   <int>   <dbl>
1     1       2    1.41
2     2       2    2.12
3     3       2    0.71

注:你示例中x=2的标准差结果2.21为笔误,对应你给出的数据集,x=2对应的y值为3和6,实际标准差约为2.12。如果你的实际数据存在缺失值,na.rm = TRUE参数会自动跳过NA值计算,无需额外预处理。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 07:15:05