【发布时间】:2015-11-06 17:57:33
【问题描述】:
我正在使用 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。
【问题讨论】:
-
%M 是 i 分钟。 %m 是月份。
-
"%b 此平台上当前语言环境中的缩写月份名称。"并且您必须指定获取
Date的日期。 -
@G.Grothendieck 我在问题中提到的表是错误的表吗?
-
该函数的第二个参数是日期的格式。你提供了
"%M-%Y"。因此,您指出您有一个格式为“MINUTES hyphen 4-digit YEAR”的日期。但这不是您的数据形式。您的格式为“MONTH hyphen YEAR”,因此您需要提供该格式"%m-%Y"。 -
从 R
?strptime中转到百分比代码的帮助页面。
标签: r