在 R 中将字符串更改为日期将生成 NA



我正在尝试将字符串更改为R中的日期对象。但是,它只输出 NA 结果。

我正在运行的代码是:

date <- "2005-01"
as.Date(date, format = "%Y-%m")

哪些调谐器

[1] NA

我一直在阅读其他建议使用系统区域设置来纠正此问题的线程。但是,到目前为止,我还没有取得任何成功。

提前谢谢。

R 中的Date需要是一个完整的日期,而你的缺少一个月中的某一天(strptime理解的%d(。

您可以通过提供任意一天来解决此问题 - 最简单的一天是 1st,正如@GKi在评论中指出的那样:

as.Date(paste0(date, '-01'))
# [1] 2005-01-01

您可以使用format将其转换回字符串(请参阅?format.Date( - 年-月格式为format(date_variable, '%Y-%m')。请注意,format的输出不再是一个Date对象 - 它又是一个字符串(即,你回到了开始的地方(。

最新更新