R 中通过 as.Date() 进行的日期字符串转换导致 NA

Date String conversion in R via as.Date() results in NAs

这个问题以前出现过,我知道,但是我在运行宁Sys.setlocale("LC_TIME", "american"之后一直没能推导出正确的输出).

好的,所以我有一个数据框,其中有一列日期看起来像“2020 年 10 月”和“2021 年 6 月”等。

I 运行 as.Date(dataframe$month_column, format = "%B %Y"), 我在 运行ning Sys.setlocale() 与上述输入。但是我的输出仍然是一堆 NA。

我想我可以尝试的一种解决方法是将 space 的月份和年份部分分成两列,这可能更容易强制转换为日期类型,但我想尽可能避免这种情况,因为我想按月份绘制数量。

如有任何见解,我们将不胜感激。

您可以使用lubridate包中的my()函数转换月份和年份的字符串。 my,在这种情况下,代表 month-year(还有其他函数,如 mdy() 查找 month-day-year 形式的条目,以及 dym()预计天-month-year订单)。

library(lubridate) 

dates <- data.frame(
  dt = c("October 2020", "June 2021")
)

dates$converted <-my(dates$dt) 

dates

输出:

            dt  converted
1 October 2020 2020-10-01
2    June 2021 2021-06-01