2016-06-01 11 views
1

xtsオブジェクトをフィルタリングするとき、xとy(下)が異なる結果を生成するのはなぜですか? xとyの両方には、固有の日付(文字として1つ、日付として)が格納されているように見えます。 ob [x]はすべてのレコードを返します。 ob [y]は日付ごとに1レコードを返します(レコードが真夜中の00:00:00に一致する場合のみ)。xtsインデックスに適用されたas.Dateが異なる結果を生成するのはなぜですか?

seq1<- seq(as.POSIXct("2015-09-01"),as.POSIXct("2015-09-14"), by = "30 mins") 
ob<- xts(data.frame(closingPrice=1:(length(seq1))),seq1) 
x = unique(format(index(ob), format = "%Y-%m-%d")) 
y = as.Date(unique(format(index(ob), format = y = as.Date(unique(format(index(ob), format = "%Y-%m-%d")))))) 
ob[x] 
ob[y] 

答えて

0

xは、文字ベクトルです。yは、日付ベクトルです。 xtsオブジェクトを日時オブジェクトでサブセット化すると、完全一致(この場合は毎日深夜)のみが取得されます。

文字ベクトルでサブセット化する場合は、xtsのISO-8601ベースのサブセットを使用します(?"[.xts"を参照)。そのタイプのサブセットの1つの特徴は、指定された最小コンポーネントに一致するすべての観測値を取得することです。

年、月、および日を指定したので、その特定の日に発生するすべてのインデックス観測を取得します。別の例として、すべてを1時間まで指定すると、その時間のすべての観測値が得られます。

> ob[paste(x[1],"12")] 
        closingPrice 
2015-09-01 12:00:00   25 
2015-09-01 12:30:00   26 
関連する問題