R中的比例调整方法

时间:2019-02-13 10:37:08

标签: r dplyr rounding

我有一张桌子,桌子上有四列Y,T,D,AF。所以我的目的是应用所谓的“ 比例调整方法”。

library(dplyr)

df<-data.frame(
Y=c(2017,2016,2015,2014,2013,2012,2011,2010,2009,2008,2007,2006,2005,2004,2003,2002,2001,2000),
T=c(11742,10927,9931,9477,7888,7348,7318,6825,6700,6688,6841,6472,6228,5928,5771,5780,5575,8302),
D=c(0,450,0,1540,0,0,0,-314,0,-1200,0,0,0,0,0,0,-3707,0),
AF=c(  1.000, 1.043 , 1.000 , 1.194 , 1.000 , 1.000 , 1.000 , 0.956 , 1.000 , 0.848 , 1.000 , 1.000 , 1.000 , 1.000 , 1.000 , 1.000 ,0.601 , 1.000 ))

为了在此表上应用比例调整方法,我应使用下面的公式,如Excel中的屏幕截图。

enter image description here

由于这个原因,我正尝试使用cumproduct函数和带有以下代码的dplyr软件包来解决此问题:

df1<-mutate(df,
              AT=  T*lag(cumprod(AF), k=1, default=1)
              )

  View(df1)

但是我在 AT列中得到了结果,该结果与正确的结果非常相似,但不完全相同。因此,有人可以通过这段代码为我提供帮助吗,例如如何使用Excel中的屏幕截图等公式功能还是其他?

enter image description here

1 个答案:

答案 0 :(得分:1)

您的代码很好。差异是由于舍入误差。