在R

时间:2017-04-04 03:07:02

标签: r date lubridate

我试图将日期的字符向量(格式为:“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"

非常感谢任何帮助。

1 个答案:

答案 0 :(得分:0)

这个问题很多,简短的回答是日期需要一天。

您可以使用zoo::as.yearmon

library(zoo)
as.yearmon("Jan.1990", "%b.%Y")

或者您可以假设该日始终是该月的第一天,将其与您的值相关联并转换为Date类型。