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

如何用data.table按双标识符分组生成行重复均值列?

按双标识符分组计算均值并填充重复值(data.table实现)

需求说明

基于id和id2两个分组标识符对数据分组,计算每组内var1的均值,在原数据集中新增avg列,将对应组的均值重复填充到该组的所有行。

示例数据集

set.seed(123)
df <- data.frame(id = 1:2,
                 id2 = c("a","b", "c","c", "b","c", "a","b", "c","b"),
                 var1 = runif(10))

解决方案

你尝试的代码完全可以实现需求,直接运行即可:

library(data.table)
setDT(df)[, avg := mean(var1), by = .(id, id2)]

结果验证

以id=1且id2=a的组为例:

  • 该组两行的var1值为0.2875775和0.5281055,均值为0.4078415
  • 运行代码后,第1、7行的avg列会被填充为该均值,其余组也会按相同逻辑完成均值计算与填充。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.16 05:15:35