1

2015 年の分単位の日中取引データで構成される xts 時系列オブジェクトがあります。1 をイベント日として、または 0 を非イベント日として示すダミー変数を追加したいと考えています。

ダミー変数は本質的に時系列ではないため、これを私の取引データに追加することは可能ですか?

ダミー列はどのように作成すればよいですか?

既存の xts にどのように追加できますか?

R は初めてなので、できるだけ具体的に回答してください。ありがとうございました!

4

1 に答える 1

2

xtsに基づいてzooおり、動物園の FAQ (質問 4) には、さまざまなデータ型に関する次の行があります。

「動物園」オブジェクトは、(1) 数値ベクトル、(2) 数値行列、または (3) 因子のいずれかですが、数値ベクトルと因子の両方を含むことはできません。

したがって、0 と 1 がnumericではなくfactorである限り、問題はありません。非常に効率的なストレージ メディアではありませんが、ストレージの効率性がボトルネックになることはありません。

例:

timestamp <- seq.POSIXt(from=as.POSIXct("2016-10-12 09:00"), 
                    to=as.POSIXct("2016-10-13 09:00"), 
                    by="min")
dat <- rnorm(length(timestamp))
foo <- xts(dat,order.by=timestamp)

指標変数は次のようになります。

#make this example reproducible:
set.seed(123)

dummy2 <- sample(c("event","non-event"), size=length(timestamp),
    replace=TRUE)
foo2 <- xts(dummy2, order.by=timestamp)
merged <- cbind(foo, foo2)

そして、それはあなたに警告します:

In merge.xts(..., all = all, fill = fill, suffixes = suffixes) :
  NAs introduced by coercion

それはそう:

summary(merged)
     Index                          ..1                ..2      
 Min.   :2016-10-12 09:00:00   Min.   :-3.38110   Min.   : NA   
 1st Qu.:2016-10-12 15:00:00   1st Qu.:-0.64010   1st Qu.: NA   
 Median :2016-10-12 21:00:00   Median : 0.04047   Median : NA   
 Mean   :2016-10-12 21:00:00   Mean   : 0.03025   Mean   :NaN   
 3rd Qu.:2016-10-13 03:00:00   3rd Qu.: 0.67461   3rd Qu.: NA   
 Max.   :2016-10-13 09:00:00   Max.   : 3.25034   Max.   : NA   
                                                  NA's   :1441  

しかし、それが数値の場合:

dummy3 <- sample(0:1, size=length(timestamp), replace=TRUE)
foo3 <- xts(dummy3, order.by=timestamp)
merged <- cbind(foo, foo3)

静かに戻ってきます(ニュースがないのは良いニュースです)。みてみましょう:

summary(merged)

         Index                          ..1                ..2        
 Min.   :2016-10-12 09:00:00   Min.   :-3.38110   Min.   :0.0000  
 1st Qu.:2016-10-12 15:00:00   1st Qu.:-0.64010   1st Qu.:0.0000  
 Median :2016-10-12 21:00:00   Median : 0.04047   Median :0.0000  
 Mean   :2016-10-12 21:00:00   Mean   : 0.03025   Mean   :0.4983  
 3rd Qu.:2016-10-13 03:00:00   3rd Qu.: 0.67461   3rd Qu.:1.0000  
 Max.   :2016-10-13 09:00:00   Max.   : 3.25034   Max.   :1.0000  

列 2 は数値であるため、等式を使用して比較しません。それが直感的でない場合は、R Infernoの Circle One (注意: PDF) を確認してください。

summary(merged[merged[,2] > 0.5 ,1] )
summary(merged[merged[,2] < 0.5 ,1] )

もっとエレガントな方法があるかもしれませんが、それで始められます。

xts自明以上の作業を計画している場合は、次の著者からのアドバイスをお勧めしxtsます。

xts オブジェクトの中心には、同名のパッケージの Zoo オブジェクトがあります。... Zoo オブジェクトを取り巻く詳細のほとんどは、xts にも同様に適用されます。優れた入門的な動物園のビネットを単にもう一度説明するのは冗長であるため、読者はこのクラスの能力を最もよく理解するために、そのドキュメントを読み、吸収し、再読することをお勧めします.

于 2016-10-17T00:51:31.770 に答える