r - 将Zoo转换为数据框

标签 r time dataframe zoo

我将zoo time series转换为R中的数据框,并且日期成为该数据框的索引。有没有一种方法可以将日期表示为数据框中的普通列?

monthly_df <- data.frame(monthly_zoo)

head(monthly_zoo)
head(monthly_df)

最佳答案

您需要as.data.frame()。见证人:

R> library(quantmod)
Loading required package: xts
Loading required package: TTR
Version 0.4-0 included new data defaults. See ?getSymbols.
R> IBM <- as.zoo(getSymbols("IBM"))  # convert from xts
R> class(IBM)
[1] "zoo"
R> tail(IBM)
           IBM.Open IBM.High IBM.Low IBM.Close IBM.Volume IBM.Adjusted
2016-10-11   156.73   156.95  153.89    154.79    2901300       154.79
2016-10-12   154.97   154.97  153.08    154.29    2964000       154.29
2016-10-13   153.70   154.22  152.27    153.72    2909900       153.72
2016-10-14   154.47   155.53  154.09    154.45    4358200       154.45
2016-10-17   154.45   155.89  154.34    154.77    5890400       154.77
2016-10-18   150.02   151.00  147.79    150.72   12705700       150.72
R> as.data.frame(tail(IBM))
           IBM.Open IBM.High IBM.Low IBM.Close IBM.Volume IBM.Adjusted
2016-10-11   156.73   156.95  153.89    154.79    2901300       154.79
2016-10-12   154.97   154.97  153.08    154.29    2964000       154.29
2016-10-13   153.70   154.22  152.27    153.72    2909900       153.72
2016-10-14   154.47   155.53  154.09    154.45    4358200       154.45
2016-10-17   154.45   155.89  154.34    154.77    5890400       154.77
2016-10-18   150.02   151.00  147.79    150.72   12705700       150.72
R> class(as.data.frame(tail(IBM)))
[1] "data.frame"
R> 

要将日期添加为列(而不是依赖默认的行名),请使其明确:
R> IBM <- getSymbols("IBM")  # keep as xts
R> tail(data.frame(index(IBM), as.data.frame(IBM)))
           index.IBM. IBM.Open IBM.High IBM.Low IBM.Close IBM.Volume IBM.Adjusted
2016-10-11 2016-10-11   156.73   156.95  153.89    154.79    2901300       154.79
2016-10-12 2016-10-12   154.97   154.97  153.08    154.29    2964000       154.29
2016-10-13 2016-10-13   153.70   154.22  152.27    153.72    2909900       153.72
2016-10-14 2016-10-14   154.47   155.53  154.09    154.45    4358200       154.45
2016-10-17 2016-10-17   154.45   155.89  154.34    154.77    5890400       154.77
2016-10-18 2016-10-18   150.02   151.00  147.79    150.72   12705700       150.72
R> 

关于r - 将Zoo转换为数据框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40120968/

相关文章:

r - 将 mob() 树(partykit 包)与 Logistic() 模型结合使用

r - 在 R 中可视化两个连续变量和一个分类变量之间的三向交互

variables - SPSS 中 TIME 变量值的问题

python - 仅向时间添加 n 秒(无日期)

java - 将数组的时间复杂度减半

r - 将 "rgb"图例添加到 R 传单热图

python - 如何在 colab.research 上安装 rpy2?

r - 使用 R 更改具有 0 和 1 信息的矩阵中的数据帧

scala - 将行转换为 spark scala 中的列表

python - 使用拆分填充 Pandas 数据框中的列