r - 使用 R 统计向每一行添加一个组总和

标签 r

<分区>

我的数据框 df 如下:

key  entry  x1
1    1      0.2
1    2      0.1
1    3      0.5
1    4      0.6
2    1      0.2
2    2      0.1
2    3      0.7
2    4      0.3

每个组由key定义,并且有相同数量的entry值。我想保留这个表结构以备后用。我需要添加一个名为 sumx1 的新列,以便每一行的总和为与该行关联的键组的 x1

在上面的示例中,键组 1 的总和将为 0.2+0.1+0.5+0.6 = 1.4,因此在名为 sumx1 的新列中,我需要为具有键的每一行输入 1.4 1.

我试过:

df["sumx1"] <- NA
df$sumx1 <- aggregate(df$sumx1, list(key=df$key), sum)

但这会引发警告错误,因为它只给出每组的总和。

最佳答案

使用ave:

 df$sumx1 <- ave(df$x1, df$key, FUN=sum)

关于r - 使用 R 统计向每一行添加一个组总和,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17748994/

相关文章:

html - Knitr HTML 输出格式问题

macos - 安装高亮包编译报错

r - geom_points 的选择性抖动

r - 以 PDF 和 PNG 格式保存图表,但在最终文档中使用 PDF 文件

r - 带有完整饼图的多个ggplot饼图

r - 如何避免 uisng rbind 和 data.frame 的重复值?

python - RPython 将带引号的字符串从 R 复制到 Python

r - 绘制由 R 中的方程给出的曲线

r - ggplot2 轴文本标签 : subscript + superscript + square brackets

r - sunburst.R 总频率计数不正确