我是一個R新手,我發現從matlab轉換相當棘手,所以提前道歉可能是一個非常簡單的問題。找到相應的日期時間在幾個時間序列中R
我分析了一些時間序列數據和下面列出的問題證明了我R中遇到的問題:在這裏我有,所有的數據都在相似的時間測得的5個數據幀
Dat1 <- data.frame(dateTime = as.POSIXct(c("2012-05-03 00:00","2012-05-03 02:00",
"2012-05-03 02:30","2012-05-03 05:00",
"2012-05-03 07:00"), tz = 'UTC'),x1 = rnorm(5))
Dat2 <- data.frame(dateTime = as.POSIXct(c("2012-05-03 01:00","2012-05-03 01:30",
"2012-05-03 02:30","2012-05-03 06:00",
"2012-05-03 07:00"), tz = 'UTC'),x1 = rnorm(5))
Dat3 <- data.frame(dateTime = as.POSIXct(c("2012-05-03 00:15","2012-05-03 02:20",
"2012-05-03 02:40","2012-05-03 06:25",
"2012-05-03 07:00"), tz = 'UTC'),x1 = rnorm(5))
Dat4 <- data.frame(dateTime = as.POSIXct(c("2010-05-03 00:15","2010-05-03 02:20",
"2010-05-03 02:40","2010-05-03 06:25",
"2010-05-03 07:00"), tz = 'UTC'),x1 = rnorm(5))
所以。我現在試圖確保所有數據幀具有相同的時間步長,即全部同時測量。我可以這樣做兩個數據幀:
idx1 <- (Dat1[,1] %in% Dat2[,1])
這將告訴我在這兩個數據幀中的一致時間的索引。然後我可以通過
newDat1 <- Dat1[idx1,]
重新定義數據幀以獲得所需的數據。
我現在的問題是,如何我申請這所有的數據幀,即超過2個。我曾嘗試:
idx1 <- (Dat1[,1] %in% (Dat2[,1] %in% (Dat3[,1] %in% Dat4[,1])))
,但我可以看到,這是完全錯誤的。有什麼建議麼?請記住,我有很多數據框(超過五個),每個數據框包含不同的變量。
編輯:
我可能已經發現一種方法可以做到這一點:
IDX1 < - (DAT1 [1]%中%相交(交點(交叉(DAT1 [1],DAT2 [1]),DAT3 [1]),DAT4 [1]))
這將給指數,並且可用於定義一個新的變量:
Dat1 <- Dat1[idx1,]
Dat2 <- Dat2[idx1,]
Dat3 <- Dat3[idx1,]
Dat4 <- Dat4[idx1,]
雖然這個工作對於這個例子,我希望找到一種方法使這項工作對於數據幀的n個,而無需編寫重複的次這樣的n個
查看http://stackoverflow.com/questions/16385909/r-find-same-timesi-i n-n個數據幀/ 16387158#16387158 – 2013-05-06 23:23:21