我有一个奇怪的数据库,其中包含各种日期类型,例如:
datfra <- data.frame(ExactDate = c(NA, NA, NA, NA, NA),
DateEstimated = c("1974", "22/12/1984","<1982","year?","23/05/1981" ))
> datfra
ExactDate DateEstimated
1 NA 1974
2 NA 22/12/1984
3 NA <1982
4 NA year?
5 NA 23/05/1981
我想要实现的是将正确的日期(适合 dd/mm/yyyy 的日期)传输到列 ExactDate
并将不适合的日期保留为 NA
'例如:
> desired_datfra
ExactDate DateEstimated
1 NA 1974
2 22/12/1984 22/12/1984
3 NA <1982
4 NA year?
5 23/05/1981 23/05/1981
欢迎任何帮助!!
最佳答案
使用 as.Date
和 format
,不匹配的日期会自动被丢弃。
transform(datfra, ExactDate=format(as.Date(DateEstimated, '%d/%m/%Y'), '%d/%m/%Y'))
# ExactDate DateEstimated
# 1 <NA> 1974
# 2 22/12/1984 22/12/1984
# 3 <NA> <1982
# 4 <NA> year?
# 5 23/05/1981 23/05/1981
关于r - 仅在 R 中从列 Date 类中提取,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70472411/