【发布时间】:2020-05-01 16:10:04
【问题描述】:
我有一个数据框,其中包含日期数据和累积计数。
我正在尝试进行 cumsum 的反转 以获取每日计数 但 也获取每组的计数。
我正在尝试从数据框 A 转到数据框 B。
我正在使用 R 和 tidyr。
代码如下:
df <- data.frame(cum_count = c(5, 14, 50, 5, 14, 50),
state = c("Alabama", "Alabama", "Alabama", "NY", "NY", "NY"),
Year = c(2012:2014, 2012:2014))
Dataframe A
cum_count state Year
1 5 Alabama 2012
2 14 Alabama 2013
3 50 Alabama 2014
4 5 NY 2012
5 14 NY 2013
6 50 NY 2014
Dataframe B
cum_count state Year
1 5 Alabama 2012
2 9 Alabama 2013
3 36 Alabama 2014
4 5 NY 2012
5 9 NY 2013
6 36 NY 2014
我尝试过使用 diff 函数:
df <- df %>%group_by(state)%>%
mutate(daily_count = diff(cum_count))
但我明白了
错误:列
daily_count的长度必须为 3(行数)或 1,而不是 2
让我知道你的想法。
谢谢!
【问题讨论】:
标签: r diff cumsum cumulative-sum