2013-10-09 22 views
0

我有這樣由下式給出的一個數據幀的矢量子集類克隆氏病的數據幀的列:由日期

x <- c(1:6) 
y <- c("06/01/13 16:00:00", 
     "06/01/13 16:00:00", 
     "06/03/13 20:00:00", 
     "06/03/13 20:00:00", 
     "06/07/13 20:00:00", 
     "06/08/13 20:00:00") 
dfrm <- data.frame(x,y) 
dfrm 
    x    y 
    1 06/01/13 16:00:00 
    2 06/01/13 16:00:00 
    3 06/03/13 20:00:00 
    4 06/03/13 20:00:00 
    5 06/07/13 20:00:00 
    6 06/08/13 20:00:00 

我想使亞克羅恩氏對象:

dfrm$y <- as.chron(dfrm$y, "%m/%d/%y %H:%M") 

然後我有日期的向量:

intensives <- c("06/01/13", "06/07/13") 

然後我想子集數據幀「DFRM」通過的日期在「intensives」向量。 我會怎麼做,它會是這樣的:

subset(dfrm, y==dates(intensives)) 

subset(dfrm, y %in% dates(intensives)) 

但兩者給我一個空的結果。

回答

2

注意:在大多數人的設置中,stringAsFactors = TRUE表示轉換爲chron失敗。他們需要做的是:

dfrm$y <- as.chron(as.character(dfrm$y), "%m/%d/%y %H:%M") 

日期對象不是克隆氏病的對象,但歷代志對象可以與dates功能

subset(dfrm, dates(y) %in% dates(intensives)) 
    x     y 
1 1 (06/01/13 16:00:00) 
2 2 (06/01/13 16:00:00) 
5 5 (06/07/13 20:00:00) 
+0

非常感謝,它的作品!朱利亞 – Giulia

1

那是因爲你在比較日期和日期。

代替subset(dfrm, dates(y) %in% dates(intensives))

無論數據類型如何,使用==的第一個子集都不會工作。

+0

它的工作原理裹挾!非常感謝你! Giulia – Giulia