R

R,r,dplyr,rounding,R,Dplyr,Rounding,我有一个表,有四列Y,T,D,AF。所以我的意图是应用所谓的“比例调整法” 库(dplyr) df您的代码很好。这种差异是由于舍入误差造成的 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,67

我有一个表,有四列Y,T,D,AF。所以我的意图是应用所谓的“比例调整法”

库(dplyr)

df您的代码很好。这种差异是由于舍入误差造成的

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 ))
df1<-mutate(df,
              AT=  T*lag(cumprod(AF), k=1, default=1)
              )

  View(df1)