1
は、次のデータフレームxts:as.xtsの後にデータ型を制御する方法?
time <-c('2016-04-13 23:07:45','2016-04-13 23:07:55','2016-04-13 23:08:45','2016-04-13 23:08:45'
,'2016-04-13 23:08:45','2016-04-13 23:07:50','2016-04-13 23:07:51')
group <-c('A','A','A','B','B','B','B')
value<- c(5,10,2,2,NA,1,4)
df=data.frame(time,group,value)
> df
time group value
1 2016-04-13 23:07:45 A 5
2 2016-04-13 23:07:55 A 10
3 2016-04-13 23:08:45 A 2
4 2016-04-13 23:08:45 B 2
5 2016-04-13 23:08:45 B NA
6 2016-04-13 23:07:50 B 1
7 2016-04-13 23:07:51 B 4
注意欠損値の行5
を検討してください。今度は、lubridate
を使用して、私のタイムスタンプを適切なPosixタイプに変換した後、xts
に変換します。
> df$time = ymd_hms(df$time)
> df<-as.xts(df,order.by=df$time)
> df
time group value
2016-04-13 23:07:45 "2016-04-13 23:07:45" "A" " 5"
2016-04-13 23:07:50 "2016-04-13 23:07:50" "B" " 1"
2016-04-13 23:07:51 "2016-04-13 23:07:51" "B" " 4"
2016-04-13 23:07:55 "2016-04-13 23:07:55" "A" "10"
2016-04-13 23:08:45 "2016-04-13 23:08:45" "A" " 2"
2016-04-13 23:08:45 "2016-04-13 23:08:45" "B" " 2"
2016-04-13 23:08:45 "2016-04-13 23:08:45" "B" NA
と私の素敵なnumeric
列value
は今character
です!
どうすれば避けることができますか?
ありがとうございます!
詳細な回答ありがとうございます。それは興味深い。私は 'xts'(偉大な' pandas'からのもの)にはかなり新しくなっていますが、 'xts'のその限界は私には大きな打撃を与えるようです。つまり、ISINコード、セクター名、その他の文字列などの情報は持ち運びできません。基本的に、 'xts'は' dplyr'や 'data.table' +' lubridate'といったことはできません。 –
いくつかの定性的情報を属性として 'xts'オブジェクトに格納することができます。 xtsは時系列データのサブセット化を非常に簡単にします*異なる時間周波数での時系列データのマージ*はマージとna.locfで簡単ですが、TTR関数は自然にその関数で動作し、高速です... Jeff Ryanのページをチェックしてくださいクオンタム(google it)でxtsの本当の力を見てください。 – FXQuantTrader
私は通常、セキュリティ価格/値を単一のxtsオブジェクトに混在させて使用しません。異なる証券に対して異なるxtsオブジェクトを使用します(これにより、グループ列の必要性がなくなります) – FXQuantTrader