-1
我想要在向下移动数据框列时计算百分比更改,但需要额外的条件。以下面的表格为例,我想计算日期之间的百分比变化,但在计算之前在相同的时间段内减去Value.2。减法不会影响Value.1,因为下一个时期的百分比变化需要完整的值。如何使用标准列计算期间更改
Date Value.1 Value.2 Percent.Change
1 1/1/2017 100 NA NA
2 1/2/2017 105 NA 0.05
3 1/3/2017 103 NA -0.02
4 1/4/2017 101 NA -0.02
5 1/5/2017 99 10 -0.12
6 1/6/2017 115 NA 0.16
我不确定的部分是条件计算。我可以计算期间回报没有问题,但我会使用Value.1列做到这一点。我不确定如何计算期间收益,同时从Value.1中减去Value.2进行计算,然后将Value.2返回到Value.1进行下一期的计算。
N.B.该表显示了我正在尝试解决的值。
欢迎所有帮助,谢谢!
这可以缩短稍:'变换(DF,frac_chg = C(NA,(差异(Value.1) - ifelse (is.na(Value.2 [-1]),0,Value.2 [-1]))/头(Value.1,-1)))' –
感谢你们! – tommygun