【发布时间】:2014-01-03 18:48:00
【问题描述】:
我有一个data.table,如下所示:
x, y, sum(count)
1, 1, 3
1, 2, 7
1, 3, 8
2, 1, 4
2, 2, 3
2, 3, 10
等等。它由x 和y 键入,我在count 列上做了一个sum。我想按 x 的值将其分解为百分比,使其变为:
x, y, percentage(counts)
1, 1, 16.7
1, 2, 38.9
1, 3, 44.4
2, 1, 23.5
2, 2, 17.6
2, 3, 58.8
因此每个x 值的总百分比总计为 100%。我正在使用data.table 包执行此操作。提前感谢您的帮助。
【问题讨论】:
-
我不确定您的请求是否与您显示的数据相匹配“因此每个 x 值的总百分比总计为 100%”:第一行不会给出大约 16.666% 而不是 37.5% 吗?
-
我相信您正在尝试分两步进行聚合。 1) 计算每个组的 sum()。 2) 计算百分比。您可以一步聚合和计算百分比。 Check out this question.
-
@HansRoggeman 我可以做数学......谢谢! ^-^
标签: r data.table