2017-03-07 63 views
0

我有一個很大的數據框(x),其中一列(Visit_Date)包含多個日期。如何在R中將日期超出特定時間段設置爲NA

不幸的是,此列中的一些數據是指DoB而不是Visit_Date。例如,本專欄中的日期應僅從2015年1月1日至2017年3月1日,但我的日期如16/09/1964。

我的問題是,如何將2015年1月1日之前的所有日期設置爲NA?

+0

'x $ Visit_Date [x $ Visit_Date ytk

回答

0

這是我的簡單解決方案。

library(lubridate) 

x <- data.frame(
    value = 1:5, 
    Visit_Date = c("01/01/2015","21/02/2015", 
       "01/03/2015","16/09/1964", 
       "01/09/2015") 
) 

x$Visit_Date <- dmy(x$Visit_Date) 

index <- x$Visit_Date < dmy("01/01/2015") 
x[index,"Visit_Date"] <- NA 
x 

# value Visit_Date 
# 1  1 2015-01-01 
# 2  2 2015-02-21 
# 3  3 2015-03-01 
# 4  4  <NA> 
# 5  5 2015-09-01 
相關問題