【发布时间】:2018-09-08 02:34:19
【问题描述】:
我有以下数据框
d2
# A tibble: 10 x 2
ID Count
<int> <dbl>
1 1
2 1
3 1
4 1
5 1
6 2
7 2
8 2
9 3
10 3
这说明每个人 (ID) 有多少计数。
我想计算每个计数的累积百分比:1 - 50%,最多 2:80%,最多 3:100%。 我试过了
> d2 %>% mutate(cum = cumsum(Count)/sum(Count))
# A tibble: 10 x 3
ID Count cum
<int> <dbl> <dbl>
1 1 0.05882353
2 1 0.11764706
3 1 0.17647059
4 1 0.23529412
5 1 0.29411765
6 2 0.41176471
7 2 0.52941176
8 2 0.64705882
9 3 0.82352941
10 3 1.00000000
但这个结果显然是不正确的,因为我预计 1 的计数对应于 50% 而不是 29.4%。
这里有什么问题?如何获得正确答案?
【问题讨论】:
-
请显示您的预期输出?
-
我不确定为什么问题被否决,而问题的答案却被投了赞成票。可能应该添加适当的 cmets 以进行否决。
-
这个问题没有明确说明实际结果应该是什么样子,并且没有以易于使用的形式提供示例数据。
-
我不知道结果应该是什么样子,正如我在上面写的那样,我知道 50%、80% 和 100% 会发生什么
标签: r dplyr cumulative-sum