11
我可能做一些愚蠢的事,并没有看到它,但:[R Strptime年和月有没有分隔符返回NA
> strptime("201101","%Y%m")
[1] NA
从帮助strptime:
%Y年份与世纪
%m月份为十进制数(01-12)
我可能做一些愚蠢的事,并没有看到它,但:[R Strptime年和月有没有分隔符返回NA
> strptime("201101","%Y%m")
[1] NA
从帮助strptime:
%Y年份与世纪
%m月份为十进制数(01-12)
只需粘贴每天领域(比如 “01”),您忽略:
R> shortdate <- "201101"
R> as.Date(paste(shortdate, "01", sep=""), "%Y%m%d")
[1] "2011-01-01"
R>
我喜欢as.Date()
日期和strptime()
为POSIXct
对象,即日期和时间。
然后,您可以转换解析Date
对象为POSIXlt
对象检索年份和月份:
R> mydt <- as.Date(paste(shortdate, "01", sep=""), "%Y%m%d")
R> myp <- as.POSIXlt(mydt)
R> c(myp$year, myp$mon)
[1] 111 0
R>
这是年“年度 - 1900”标准POSIX行为和个月零索引。
所以在R中,您不能说没有日期数字,您必须注入假设01.奇怪。 – userJT
您发现* * strptime * *的文档错误必须全部提供,并且从未在任何地方声明:*“对于strptime,输入字符串不需要完全指定日期:假定未指定秒,分钟或小时为零,未指定的年份,月份或日期为当前日期。“* – smci