首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >流苏时间不能处理chron时间

流苏时间不能处理chron时间
EN

Stack Overflow用户
提问于 2015-12-07 17:54:45
回答 1查看 379关注 0票数 1

我试图从R.中的chron时间中提取出这个小时,对lubridate::hour的帮助如下:

日期-时间必须是一个POSIXct,POSIXlt,日期,期间,时间,一年,一年,动物园,timeDate,xts,its,ti,jul,timeSeries和fts对象.

但这似乎行不通:

代码语言:javascript
复制
library(chron)
library(lubridate)
hour(chron(times. = "01:02:03"))

给出误差

代码语言:javascript
复制
Error in as.POSIXlt.default(x, tz = tz(x)) : 
do not know how to convert 'x' to class “POSIXlt”

这是个虫子吗?

我知道使用chron::hours是可能的,这在大多数情况下是可取的。但是lubridate的部分吸引力在于拥有一组函数来处理各种日期时间数据,而必须在任何地方将hour更改为hours都有悖于此。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-12-08 13:16:53

问题是下面的tt

代码语言:javascript
复制
library(chron)
tt <- chron(times. = "01:02:03")
class(tt)
## [1] "times"

实际上不是"chron"类的。它是"times"类的。

1)它也需要一个日期部分才能属于"chron"类,这样就可以工作了:

代码语言:javascript
复制
library(lubridate)
hour(chron(0, tt))
## [1] 1

2)或:

代码语言:javascript
复制
hour(as.chron(tt)) # as.chron always produces a chron object
## [1] 1

3)是一种不使用lubridate的替代方法,它基于以下事实: chron代表一天,因为1×1小时是1/24:

代码语言:javascript
复制
trunc(24 * as.numeric(tt))
## [1] 1
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34140048

复制
相关文章

相似问题

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