2012-10-26 37 views
2

我有一個名爲XTS AUM其中有5列monthlyReturn爲多元XTS

head(AUM) 
      FXI.Adjusted X2823.HK.Adjusted HSCE.Adjusted X3049.HK.Adjusted HSI.Adjusted 
2010-04-08  100.0000   100.0000  100.0000   100.0000  100.0000 
2010-04-09  100.9009   100.9009  100.9009   100.9009  100.9009 
2010-04-12  100.4474   100.6022  100.1916   100.1448  100.0890 
2010-04-13  101.7668   101.8123  101.6008   101.4299  101.4111 
2010-04-14  102.1177   102.3792  101.9873   101.7272  101.7813 
2010-04-15  102.0445   102.1387  101.7266   101.5462  101.4893 

我想計算每列的月度回報率。我可以通過調用monthlyReturn(AUM[,1])來做一列,但我無法得到它計算所有五列的月報表並返回多變量XTS。

我想這apply(AUM, 2, monthlyReturn),但我得到的錯誤

Error in array(r, dim = d, dimnames = if (!(is.null(n1 <- names(x[[1L]])) & : 
    length of 'dimnames' [1] not equal to array extent 

任何幫助非常讚賞。先謝謝了。

回答

1

應該與功能lapply工作:

lapply(AUM, monthlyReturn) 

此命令將返回xts對象的列表。