R汇总而不在dplyr

时间:2016-01-28 22:26:30

标签: r dplyr

我有一项任务,我想在dplyr中完成,但我们无法对如何做到这一点进行排序。

我有一个包含年份,因子和值的数据框。我想创建一个新列(mutate),它对一年内的所有值(group_by)求和,并取值并除以年份总和。下面显示了我想要完成的内容,我的df中有前三列。

year  factor    value    share
1977     a      564907   value / sum(value for year 1977)
1977     l     2852949   value / sum(value for year 1977)
1978     a      504028   value / sum(value for year 1978)
1978     1      413120   value / sum(value for year 1978)
1978     y     2553088   value / sum(value for year 1978)
1979     a      497766   value / sum(value for year 1979)
1979     c      789007   value / sum(value for year 1979)

正如所料,

group_by(year) %>% summarize(year.total = sum(value)) 

删除了值列,因此我无法继续创建共享列。

我想我需要一个条件变异,比如 %>%mutate(share = value /(与当前行年匹配的所有年份的总和值))。是的,每年的行数是可变的。

0 个答案:

没有答案