没有办法解决 as.Date 返回 NA

Val*_*uts 3 r na as.date

R Studio 初学者在这里。我试图通过 as.Date 将一个字符变成一个日期。我的代码是这样的:

日期 = c("1994 年 11 月 23 日")

日期 <- as.Date(日期, 格式=“%Y%m%d”)

但它返回 NA。

我也尝试过

as.POSIXlt("23-11-1994", 格式="%d-%m-%Y")

返回 [1] NA

区域设置不应该是问题:

Sys.getlocale("LC_TIME")

返回 [1]“English_United States.1252”

最后,我尝试按照另一个线程中的建议使用 lubridate,但 R 返回没有名为 lubridate 的包!我真的不明白为什么,有人可以帮忙吗?R版本是3.4.4。

谢谢你!

akr*_*run 5

格式应与顺序匹配,%m适用于数字月份

as.Date(date, format="%d-%b-%Y")
#[1] "1994-11-23"
Run Code Online (Sandbox Code Playgroud)

另外,这可以通过lubridate

library(lubridate)
dmy(date)
#[1] "1994-11-23"
Run Code Online (Sandbox Code Playgroud)

或者与anytime

anytime::anydate(date)
#[1] "1994-11-23"
Run Code Online (Sandbox Code Playgroud)

  • 稍微扩展一下:“format”参数定义输入数据的格式。因此“23-Nov-1994”的格式为“%d-%b-%Y”。`as.Date` 函数读取此数据,然后知道如何处理数据。 (2认同)