首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么anytime在某些情况下会返回NA

为什么anytime在某些情况下会返回NA
EN

Stack Overflow用户
提问于 2017-02-18 23:12:14
回答 1查看 372关注 0票数 1

为什么anytime在第一种情况下返回NA,而在第二种情况下返回有效结果。

代码语言:javascript
复制
 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"
EN

回答 1

Stack Overflow用户

发布于 2017-02-18 23:21:35

这就是integernumeric之间的区别。请注意,您的向量被列为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,因为我们也依赖于它来工作:

代码语言:javascript
复制
R> anytime(20170217)
[1] "2017-02-17 CST"
R> 

编辑:我投降了。github中的当前开发版本支持:

代码语言:javascript
复制
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>
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42316895

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档