逆向工程累积到每日数据?

问题描述 投票:0回答:1

我有一个数据框,其中有日期数据和累计计数。我正在尝试执行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

让我知道您的想法。

谢谢!

r diff cumsum cumulative-sum
1个回答
0
投票

也许您可以尝试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
© www.soinside.com 2019 - 2024. All rights reserved.