我正在处理的数据集与下面的数据集类似(尽管示例的规模要小得多,但我正在处理的数据是数千行的 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/