我是 R 的新手,只是有一个简单的问题。
我有一个包含时间序列财务数据的数据框,并希望计算某些列的日志回报。当我尝试diff(log())
在表中使用它时,出现错误消息,说返回的行与现有表不同。
这是因为回报总是比我假设的原始价格数据少一行。我知道我可以将收益单独计算为一些新的数据框,但我希望收益与日期一致。任何人都可以提出解决此问题的方法吗?我正在使用的代码如下:
Date MKT_ap MKT_us MKT_au
1 2008-01-02 6237 14613.57 1424303
2 2008-01-03 6161 14587.92 1418566
> #compute market, stock and ADR returns
> data$MR_au = with(data, diff(log(data$MKT_au)))
Error in `$<-.data.frame`(`*tmp*`, "MR_au", value = c(-0.00403606867795503, :
replacement has 1226 rows, data has 1227