[英]Why does anytime return NA in some cases
为什么在第一种情况下任何时候都返回NA,而在第二种情况下返回有效结果。
str(A$X1)
int [1:23744] 1487319525 1487323025 1487325865 1487332405 1487334780 1487353675 1487354135 1487354185 1487354195 1487354215 ...
> anytime(A$X1[1])
[1] NA
> anytime(1487319525)
[1] "2017-02-17 02:18:45 CST"
这是integer
和numeric
之间的差异。 请注意,您的向量列为integer
。
见证:
R> library(anytime) R> R> ivec <- c(1487319525L, 1487323025L, 1487325865L) R> str(ivec) int [1:3] 1487319525 1487323025 1487325865 R> anytime(ivec) [1] NA NA NA R> R> fvec <- as.numeric(ivec) ## convert to numeric R> str(fvec) num [1:3] 1.49e+09 1.49e+09 1.49e+09 R> anytime(fvec) [1] "2017-02-17 02:18:45 CST" "2017-02-17 03:17:05 CST" "2017-02-17 04:04:25 CST" R>
我们在这里走得很好。 如果在某个范围内,则数字值采用POSIXct
。 因为C ++是强类型的,所以整数向量确实可以进行该测试。
而且,我们不能只将integer
转换为numeric
因为我们依赖它也可以工作:
R> anytime(20170217)
[1] "2017-02-17 CST"
R>
编辑:我屈服了。 github中的当前开发版本:
R> library(anytime)
R> ivec <- c(1487319525L, 1487323025L, 1487325865L)
R> anytime(ivec)
[1] "2017-02-17 02:18:45 CST" "2017-02-17 03:17:05 CST" "2017-02-17 04:04:25 CST"
R>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.