我试图将日期的字符向量(格式为:“Jan.1990”)转换为日期向量(保持类似格式:即“1990年1月”或“1月1日”)。
month_year <- ("Jan.1990", "Feb.1990", "Mar.1990", "Jan.1991", "Feb.1991", Mar. 1991")
我尝试过使用带有lubridate包的as.Date和各种命令,但我最终得到的格式不正确或者是NA。
我尝试使用as.Date:
df$month_year <- as.Date(df$month_year,format = "%b%Y")
这导致了NAs。
我试过了lubridate :: parse_date_time2
parse_date_time2(tidy_labor$month_year, c("Jan.1990"), exact = TRUE, orders = "bY")
但格式如下:
unknown timezone 'Jan.1990'unknown timezone 'Jan.1990' [1] "1990-01-01 GMT" "1990-01-01 GMT" "1990-01-01 GMT" "1990-01-01 GMT" "1990-02-01 GMT" "1990-02-01 GMT" "1990-02-01 GMT"
非常感谢任何帮助。
答案 0 :(得分:0)
这个问题很多,简短的回答是日期需要一天。
您可以使用zoo::as.yearmon
:
library(zoo)
as.yearmon("Jan.1990", "%b.%Y")
或者您可以假设该日始终是该月的第一天,将其与您的值相关联并转换为Date
类型。