r - 如何使用 R 根据组指定添加列数据?

标签 r aggregate-functions calculated-columns

我正在处理的数据集与下面的数据集类似(尽管示例的规模要小得多,但我正在处理的数据是数千行的 10 行),但我无法做到弄清楚如何让 R 根据组号添加列数据。本质上,我希望能够分别获得第 81 组和第 66 组的绿色、蓝色和红色的总和数,然后能够使用该信息计算百分比。

txt <- "Group Green Blue Red Total
81 15 10 21 46
81 10 10 10 30
81 4 8 0 12
81 42 2 2 46
66 11 9 1 21
66 5 14 5 24 
66 7 5 2 14
66 1 16 3 20
66 22 4 2 28"

dat <- read.table(textConnection(txt), sep = " ", header = TRUE)

我花了很多时间试图弄清楚如何自己使用一些功能,希望我能偶然发现一种正确的方法,但由于我是一个新的基本用户,我觉得就像我撞到了一堵墙,没有帮助我无法前进。

最佳答案

一种方法是通过聚合。假设您的数据在对象 x 中:

aggregate(. ~ Group, data=x, FUN=sum)
#   Group Green Blue Red Total
# 1    66    46   48  13   107
# 2    81    71   30  33   134

关于r - 如何使用 R 根据组指定添加列数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5478201/

相关文章:

r - ggplot PDF 导入 Inkscape 在使用 alpha 时为 geom_point 点添加额外的空心圆

r - R 中的 apcluster : Memory limitation

sql - 如何在postgresql中将两行转换为键值json对象?

python - PySpark 数值窗口分组依据

mysql - 聚合函数在 ORDER BY 子句中可以做什么?

sql-server-2005 - 基于另一个计算列的计算列?

r - 为每个组ID在数据框中插入新行

r - 计算 R 中整数字段上唯一出现的次数?

mysql - 更新行时是否总是触发生成列的计算?

python - Python 中的 Rank.Avg(来自 Excel)函数是什么?