我有一个数据框,其中有日期数据和累计计数。我正在尝试执行cumsum的倒数以获取每日计数。我正在尝试从数据框A转到数据框B。我正在使用R和Tidyr。
这里是代码:
df <- data.frame(cum_count = c(5, 14, 50),
Year = (2012:2014))
Datframe A
cum_count Year
1 5 2012
2 14 2013
3 50 2014
Dataframe B
new_count Year
1 5 2012
2 9 2013
3 36 2014
我尝试使用diff函数:df %mutate(daily_count = diff(cum_count))但是我得到
错误:列
daily_count
的长度必须为3(行数)或1,而不是2
让我知道您的想法。
谢谢!
也许您可以尝试diff
,例如
dfout <- transform(df,new_count = c(head(cum_count,1),diff(cum_count)))
诸如此类
> dfout
cum_count Year new_count
1 5 2012 5
2 14 2013 9
3 50 2014 36