我有一個包含各種日期型別的奇怪資料庫,例如:
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
歡迎任何幫助!!
uj5u.com熱心網友回復:
使用as.Dateand 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
uj5u.com熱心網友回復:
這是使用dmyfromlubridate包的選項。
通過使用這個函式,只有格式正確的日期才會被決議,其他的將離開 NA。
library(dplyr)
library(lubridate)
datfra %>%
mutate(ExactDate = dmy(DateEstimated))
ExactDate DateEstimated
1 <NA> 1974
2 1984-12-22 22/12/1984
3 <NA> <1982
4 <NA> year?
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/393457.html
標籤:r
上一篇:在QA序列中找到最后注視的人
下一篇:R中的缺失如何表示?
