我有一个大型数据框(x),其中一个列(Visit_Date)包含许多日期。
不幸的是,此列中的某些数据是指DoB而不是Visit_Date。例如,此列中的日期应仅在2015年1月1日至2017年3月1日期间,但我的日期为16/09/1964。
我的问题是,如何将2015年1月1日之前的所有日期设置为NA?
答案 0 :(得分: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