我正在尝试构建用于基金分析的代码,该代码从基金在不同频率下的回报开始。我已经能够按频率(即每天,每周,每月,每季度和每年)对数据进行拆分,但是下一步对我来说并不是很有效。我已经在excel和SPSS上做过很多次,但是由于R对我来说是一种新语言,因此事实证明它具有挑战性。以下是我的数据示例:
Date Dat1 Dat2
30/06/2009 54.26 1307.16
31/07/2009 65.28 1425.40
31/08/2009 70.71 1498.97
30/09/2009 76.18 1552.84
30/10/2009 71.92 1532.74
30/11/2009 77.14 1559.57
我想做的是从第二个索引开始,再增加两列,其中包含n-1个元素。因此,新列中30/06/2009的条目将为“-”和“-”,而2009年7月31日行的条目将为(65.28-54.26)/54.26和(1425.40-1307.16)的值/1307.16,依此类推,直到最后一种情况为止。但是当我运行简单的代码时
Daily$Dat1.Return <- diff(log(Daily$Dat1))
我收到以下错误:
Error in `$<-.data.frame`(`*tmp*`, Dat1, value = c(-0.0616981144702153, :
replacement has 2161 rows, data has 2162
如何获取所需的列?