我正在尝试使用R命令 as.POSIXct 将字符串日期转换为POSIXct 如果列表中的某个日期不正确(2月31日),则返回错误。我怎样才能获得NA?
我在帮助中读到已知无效的日期时间将返回为NA。这是一个错误吗?
as.POSIXct(c("2011-02-02", "2011-02-31"), tz="GMT")
答案 0 :(得分:8)
您还应该为函数提供格式字符串,如下所示:
> as.POSIXct(c("2011-02-02", "2011-02-31"), tz="GMT", format='%Y-%m-%d')
[1] "2011-02-02 GMT" NA
问题是没有格式字符串,函数无法弄清楚,字符串的哪一部分代表月份,哪一部分代表当天。
编辑:
这实际上是错误所抱怨的:
Error in as.POSIXlt.character(x, tz, ...) :
character string is not in a standard unambiguous format