我读入了一个 Excel 文件,其中有一列包含日期。在某些行中没有完整的日期,但只给出了年份,例如 2018 年。我在 R 中获得的是
> df$date
[1] NA NA 43465 43465 43465 43465 2018 NA 43465 43465 43465 43465
我想将这些行转换为完整日期的日期格式,即在我的示例中,只有行与43465
其他行保持原样,即NA
应该保留NA
并且2018
应该保留2018
。
我知道我可以按如下方式转换 Excel 日期,as.Date(df$date, origin="1899-12-30")
但以下两个想法给了我错误的输出
> as.Date(df$date, origin="1899-12-30")
[1] NA NA "2018-12-31" "2018-12-31" "2018-12-31" "2018-12-31" "1905-07-10" NA "2018-12-31" "2018-12-31" "2018-12-31"
[12] "2018-12-31"
当然"1905-07-10"
不是我所期望的。
> ifelse(df$date == 2018, 2018, as.Date(df$date, origin="1899-12-30"))
[1] NA NA 17896 17896 17896 17896 2018 NA 17896 17896 17896 17896
这里错误的输出很明显。