将日期向量与NA结合使用时,如果NA首先出现,R会将整个向量强制转换为数字。如果不首先出现NA,它将强制日期。
x <- Sys.Date()
c(NA, x)
# [1] NA 16248
c(x, NA)
# [1] "2014-06-27" NA
无论NA出现的顺序如何,如何始终将其强制转换为Date?其次,如果我不知道x的类型怎么办,我怎么还能确定它强制于向量x的类而不是数字呢?
这是S3方法分派对第一个参数起作用的结果,NA
因此使用默认方法将所有内容强制转换为数字。解决方案是明确说明要调用的方法,在这种情况下c.Date()
:
x <- Sys.Date()
xx <- c.Date(c.Date(NA, x))
xx
class(xx)
> xx
[1] NA "2014-06-27"
> class(xx)
[1] "Date"
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句