2017-01-20 18 views
0

単純なクエリは、3つの列が返されます。次のように楽器、日付、価格R:SQL旋回しXTSには、オブジェクト

データを:私はしたいことは、次のように見えるピボットXTS-オブジェクトである

library("xts") 
dta = data.frame(
    sample(x=c("a", "b", "c", "d", "e", "f"), size=367, replace=TRUE), 
    c(as.Date('2016-01-01') + 0:366), 
    c(0:366)) 
names(dta) <- c("instr", "date", "price") 

 
      "a" "b" "c" "d" "e" "f" 
2016-01-01 1  NA NA NA NA NA 
2016-01-02 NA 2  NA NA NA NA 
2016-01-03 3  NA NA NA NA NA 
2016-01-04 NA NA NA NA 4  NA 
... 

私は "楽器" -vectorsにデータを分割することを考えた:

list_of_instr_vectors <- split(dta, dta$instr) 

リストのすべてのdata.framesをxts-objectsおよびmerge.xtsに変換します。どのように

xts_dta = as.xts(dta, order.by = dta$date) 

そして、そのデータをピボット...しかし:

多分XTSに最初からdata.frameをオンにする方が簡単でしょうか?

私は確信しています、この共通のタスクを達成するための簡単な方法があります...しかし、どのように?

ありがとうございました! split引数と マルコ

+0

可能な重複[ワイドフォーマットに長いからデータを再構築するには?](http://stackoverflow.com/questions/5890584/how-to -reshape-data-long-to-wide-format) – nrussell

+0

これは重複していません。リンクのメソッドを使用することは可能かもしれませんが、xtsシリーズを扱っているので、実際には最良の解決策ではありません。 –

答えて

0

使用read.zoo

z <- read.zoo(dta, split = 1, index = 2) 
as.xts(z) 
+0

うわー!とても簡単!完璧なソリューション!私は動物園のパッケージを見ていきます!ありがとう! – Marco

関連する問題