teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

1

zoo を xts に変換してなかったのを修正,結果は同じ

2017/08/01 05:03

投稿

what_alnk
what_alnk

スコア147

answer CHANGED
@@ -10,7 +10,8 @@
10
10
  library(dplyr)
11
11
  library(ggplot2)
12
12
  x <- read.zoo(read.csv("file.currency.rate"))
13
+ x.xts <- as.xts(x)
13
- x
14
+ x.xts
14
15
  #> USDJPY EURJPY AUDJPY
15
16
  #> 2010-07-28 85.17 115.83 75.43
16
17
  #> 2010-07-29 88.06 113.62 77.70
@@ -21,18 +22,23 @@
21
22
  #> 2010-08-05 84.56 113.97 77.19
22
23
  #> 2010-08-06 86.24 115.62 77.16
23
24
  #> 2010-08-09 85.42 114.04 78.51
24
- str(x)
25
+ str(x.xts)
25
- #> 'zoo' series from 2010-07-28 to 2010-08-09
26
+ #> An 'xts' object on 2010-07-28/2010-08-09 containing:
26
27
  #> Data: num [1:9, 1:3] 85.2 88.1 84.6 86 86.4 ...
27
28
  #> - attr(*, "dimnames")=List of 2
28
29
  #> ..$ : NULL
29
30
  #> ..$ : chr [1:3] "USDJPY" "EURJPY" "AUDJPY"
31
+ #> Indexed by objects of class: [Date] TZ: UTC
32
+ #> xts Attributes:
33
+ #> NULL
34
+ class(x.xts)
30
- #> Index: Date[1:9], format: "2010-07-28" "2010-07-29" "2010-07-30" "2010-08-02" ...
35
+ #> [1] "xts" "zoo"
31
36
 
32
37
  # xts のままプロット
33
- # ggplot(x, aes(Index, USDJPY)) + geom_line()
38
+ # ggplot(x.xts, aes(Index, USDJPY)) + geom_line()
34
39
 
35
40
  # data.frame でプロット
41
+ # as.data.frame(x.xts) でも同じ
36
42
  x.df <- as.data.frame(x) %>%
37
43
  tibble::rownames_to_column(var = "Date") %>%
38
44
  mutate(Date = as.Date(Date))