【问题标题】:How to transform an R Matrix into an xts/zoo object?如何将 R 矩阵转换为 xts/zoo 对象?
【发布时间】:2013-04-25 12:12:21
【问题描述】:

a我在运行返回函数后将 xts 派生的 R 矩阵转换回 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"

当我应用返回函数时,我将返回的对象丢失为 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 对象?

【问题讨论】:

  • 您如何尝试将xtsData_1 转换为 xts 对象?你得到什么错误?

标签: r matrix xts zoo


【解决方案1】:

一个想法是将矩阵再次转换为xts 对象。使用as.xtsxts 构造函数例如:

 xts(xtsData_1,as.POSIXct(rownames(xtsData_1)))

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-11-12
    • 1970-01-01
    • 2011-05-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-01-07
    相关资源
    最近更新 更多