![](/img/trans.png)
[英]R: Why an xts object becomes a zoo object after calling transform()?
[英]How to transform an R Matrix into an xts/zoo object?
我在运行return函数后将xts派生的R Matrix转换回xts对象时遇到问题。 这就是我所拥有的...
> class(xtsData)
[1] "xts" "zoo"
> head(xtsData)
ts_58_20_B_003_003 ts_58_20_S_021_005 ts_58_20_S_034_013 ts_58_20_S_042_021
2011-01-02 10001.0 10000.0 10000 10000
2011-01-03 10387.5 10001.0 10000 10000
2011-01-04 10387.5 10551.0 10000 10000
2011-01-05 10387.5 10562.5 10000 10000
2011-01-06 10387.5 10562.5 10000 10000
2011-01-07 10387.5 10562.5 10000 10000
> tail(xtsData)
ts_58_20_B_003_003 ts_58_20_S_021_005 ts_58_20_S_034_013 ts_58_20_S_042_021
2013-03-05 21199.0 14905 10274.5 8859
2013-03-06 20498.0 14905 10274.5 8859
2013-03-07 20484.5 14905 10274.5 8859
2013-03-08 20957.5 15478 10847.5 9432
2013-03-11 20957.5 15478 10847.5 9432
2013-03-12 20531.5 14776 10847.5 9432
遵循RMetrics文档中的步骤...
> xtsDataDiff <- xtsData[, ] / as.numeric( xtsData[1, ] )
> class( xtsDataDiff )
[1] "xts" "zoo"
当我应用return函数时,我将返回的对象丢失为xts对象...
> xtsData_1 <- returns( xtsDataDiff )
> class(xtsData_1)
[1] "matrix"
> tail ( xtsData_1 )
ts_58_20_B_003_003 ts_58_20_S_021_005 ts_58_20_S_034_013 ts_58_20_S_042_021
2013-03-05 0.0000000000 -0.000099995 0.000099995 0.000000000
2013-03-06 -0.0337266853 0.000099995 0.000000000 0.000000000
2013-03-07 -0.0005588228 0.000000000 0.000000000 -0.000099995
2013-03-08 0.0228280749 0.037722934 0.054169546 0.062774267
2013-03-11 0.0000000000 -0.000099995 0.000099995 0.000000000
2013-03-12 -0.0206362804 -0.046315423 0.000000000 0.000000000
当我尝试将数据集重新建立为xts对象时,出现错误。
所以我的问题是...如何将矩阵数据重新建立为xts对象?
一种想法是将矩阵再次转换为xts
对象。 使用as.xts
或xts
构造函数例如:
xts(xtsData_1,as.POSIXct(rownames(xtsData_1)))
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.