2016-07-19 1 views
1

xtsパッケージで.indexyear関数を使用しようとしていますが、どのように使用されるべきかについて頭を下げることはできません。xtsパッケージで.indexyearを使用する方法

以下はいくつかのコードです。.indexyearは、2012, 2013, 2014, 2015の間に112, 113, 114, 115を返します。 xtsオブジェクトのインデックスに特定の年が存在するかどうかを確認したいので、2012 %in% .indexyear(a)TRUEとするにはどうすればいいですか?

コード

Browse[1]> index(a) 
[1] "2012-12-30 00:00:00 CET" "2013-12-30 00:00:00 CET" "2014-12-30 00:00:00 CET" "2015-12-30 01:00:00 CET" 

Browse[1]> .indexyear(a) 
[1] 112 113 114 115 

Browse[1]> 2014 %in% .index(a) # should actually be TRUE! 
[1] FALSE 

Browse[1]> 113 %in% .indexyear(a) 
[1] TRUE 
+0

インデックスに実際にエポックから2014秒後の時刻が含まれている場合は、%.index(a)の2014%は「TRUE」にする必要があります。 –

答えて

2

.index*機能、基本的POSIXltクラスのコンポーネントをラップします。だから、あなたが望む結果を得るために.indexyearの出力に1900を追加する必要が1900

以来

「今年の年:だから言う?POSIXlt詳細セクションを参照してください。

a <- structure(1:4, .Dim = c(4L, 1L), index = structure(c(1356847200, 1388383200, 
    1419919200, 1451458800), tzone = "", tclass = c("POSIXct", "POSIXt")), 
    class = c("xts", "zoo"), .indexCLASS = c("POSIXct", "POSIXt"), 
    tclass = c("POSIXct", "POSIXt"), .indexTZ = "UTC", tzone = "UTC") 
2014 %in% (.indexyear(a)+1900) 
# [1] TRUE 
関連する問題