2016-06-30 22 views
0

私はDJIAとFSTE100の時系列を見ていますが、取引日のために同じ長さではありません。これをRでどのように修正できますか?異なる長さのデータフレーム

私はコードスニペットを見て、私はそれこのような必要があります私のデータを適応させることを試みた:

zz <- merge(ftse100$Date, djia$Close, all = TRUE) 
zz[is.na(zz)] <- 0 
View(zz) 

しかし、それは私が望む結果を与えていない、それは行を複製したので、私が試しました

z<-setdiff(ftse100$Date,djia$Date) 
print(length(z)) 

for (i in 1:length(z)) { 
    index = match(c(z[i]), ftse100$Date) 
    ftse100 <- ftse100[-c(index),] 
} 
print(NROW(ftse100)) 

しかし、私はこれをすべてのデータフレームに行う必要があり、複雑化しています。すべてのデータフレームに含まれていない日付を削除する方法はありますか?

+0

再現可能な例を使わずにRを使用する方法についての議論であるので、この質問を議論の対象外としています。 – gung

答えて

1

私は、これはあなたがやりたいかもしれないと思う:

set.seed(2) 
stocksA <- data.frame(Date=sample(1:10, 7), price=rnorm(7)) 
stocksB <- data.frame(Date=sample(1:10, 7), price=rnorm(7)) 
stocksC <- data.frame(Date=sample(1:10, 7), price=rnorm(7)) 
sharedDates <- intersect(intersect(stocksA$Date, stocksB$Date), stocksC$Date) 
relevantA <- stocksA[stocksA$Date %in% sharedDates, ] 
relevantA 

これは私に与える:あなたがデータセットの多くのためにそれを行うために必要がある場合はもちろん、いくつかのループを活用することができ

 
    Date  price 
1 2 0.9678839 
2 7 0.1256203 
6 8 -0.7526655 

を..

関連する問題