无法将月 - 年字符串转换为R中的日期

时间:2015-11-06 17:57:33

标签: r

我使用as.Date将类似Aug-2002的字符串转换为仅代表2002年8月的日期对象,或者如果必须指定一天,则为2002年8月1日。

然而

> as.Date(c('07-2002'), "%M-%Y")
[1] "2002-11-06"

> as.Date(c('Aug-2002'), "%b-%Y")
[1] NA

为什么第一行代码会将其转换为不同的月份和日期?第二个是NA

我提到了this table格式符号。

enter image description here

1 个答案:

答案 0 :(得分:5)

您遇到的问题是您拥有的日期没有日期值。没有日值,格式="%m-%Y"不会在as.Date中工作。以下这些选项将解决它们:

as.Date(paste0('01-', c('07-2002')), format="%d-%m-%Y")

library(zoo) #this is a little more forgiving:
as.yearmon(c('07-2002'), "%m-%Y")
as.yearmon(c('Aug-2002'), "%b-%Y")

as.Date(as.yearmon(c('07-2002'), "%m-%Y"))