zoo time series
をR
のデータフレームに変換し、日付がデータフレームのインデックスになりました。データフレームに日付を通常の列として表示する方法はありますか?動物園をデータフレームに変換する
monthly_df <- data.frame(monthly_zoo)
head(monthly_zoo)
head(monthly_df)
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>
それが明示的に作る(代わりにデフォルトのrownamesに頼るの)列として日付を追加するには:
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>
私は間違っているかもしれませんが、これは ''適切な列ではなく '' row.names''として ''インデックスを残していませんか? – thelatemail
私はまだそれに取り組んでいました。そこに今。 –
ありがとうございます!それがトリックでした。 :) – SteveJones22
fortify.zoo(z)
は、最初の列とdata.frameに動物園のオブジェクトz
を変換し、インデックスに等しい。
library(zoo)
z <- zoo(1:3, as.Date("2000-01-01") + 0:2) # test object
fortify.zoo(z)
与える:(ジェネリックfortify
が存在するように)、それが交互のように書くことができ
Index z
1 2000-01-01 1
2 2000-01-02 2
3 2000-01-03 3
ggplot2
場合がロードされます。
library(ggplot2)
fortify(z)
'monthly_dfの$月< - rownames (monthly_df) 'を使用するか、' tibble :: rownames_to_column'を使用してください – alistaire
**あなたの投稿を**編集して、実際のコード/入出力をスクリーンショットの代わりにテキストとして表示してください。他の人は画像からコピー&ペーストすることはできません。 [詳細はこちら](http://meta.stackoverflow.com/a/285557/1402846)を参照してください。ありがとうございました。 – Pang