【发布时间】:2021-06-21 06:52:49
【问题描述】:
我正在尝试计算每个国家/地区的某个可变成本与总数相关的份额。但是,当我尝试通过 mutate 创建“share”列时,它会产生所有答案为 1。
我使用的代码如下:
db %>%
group_by(country,group) %>%
summarize(cost=sum(cost)) %>%
mutate(share=cost/sum(cost))
这是它正在生成的表:
# Groups: cluster [18]
cluster group cost share
<chr> <chr> <dbl> <dbl>
1 AT A 7810. 1
2 AU C 7786. 1
3 CA C 5920. 1
4 KO B 172702. 1
5 DE A 40894. 1
6 ES A 26357. 1
7 FR A 65735. 1
8 GB C 11240. 1
9 IT A 85045. 1
10 JP B 10069. 1
我尝试在 group_by() 上颠倒组和国家/地区的位置,但份额列仍将份额作为组的百分比返回,而不是总和。为什么会发生这种情况,我该如何解决?
【问题讨论】:
-
没有任何改变。一定是别的东西