无法将月份年份字符串转换为R中的日期
问题描述:
我使用as.Date
将字符串Aug-2002
转换为日期对象,该日期对象仅表示2002年8月份的月份,或者如果必须指定日期,2002年8月1日。无法将月份年份字符串转换为R中的日期
然而
> as.Date(c('07-2002'), "%M-%Y")
[1] "2002-11-06"
> as.Date(c('Aug-2002'), "%b-%Y")
[1] NA
为什么的第一行代码将其转换为不同的月份和日期?第二个是NA
?
对于格式符号,我指的是this table。
答
您所遇到的问题是,你有日期,没有日期值。如果没有日期值,format =“%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"))
%M是iminutes。 %m是月份。 –
“%b此平台上**当前语言环境中的缩写月份名称**。”你必须指定一天才能得到一个'日期'。 – Roland
@ G.Grothendieck在问题中提到的表是否是错误的表? – Nyxynyx