将“Jan.2008”转换为日期变量

时间:2012-02-17 04:29:49

标签: r date

如何将以下字符变量转换为日期?

strDates <- c("Jan.2008", "Feb.2008")
str(strDates)
chr [1:2] "Jan.2008" "Feb.2008"

dates <- as.Date(strDates, "%b %Y")
str(dates)
Date[1:2], format: NA NA

非常感谢任何帮助

2 个答案:

答案 0 :(得分:2)

要形成有效的“日期”,您还需要一天您的数据缺失。所以我们添加一个,我们只使用任意一天(这里:本月的第一天):

R> strDates <- c("Jan.2008", "Feb.2008")
R> strptime(paste("01", strDates), "%d %b.%Y")
[1] "2008-01-01" "2008-02-01"
R> 

答案 1 :(得分:1)

Date也需要day元素,因此您可以使用paste将其添加到输入字符串中:

full.dates <- paste("01", strDates, sep = ".")

正确指定模板,包括分隔符标记:

as.Date(full.dates, "%d.%b.%Y")
[1] "2008-01-01" "2008-02-01"