3

如何将一小时添加到动物园系列索引的所有元素?

我试过了

newseries <- myzooseries 
index(newseries) <- index(myzooseries)+times("1:00:00") 

但我收到了消息

Incompatible methods   ("Ops.dates", "Ops.times") for "+" 

谢谢

我的索引是一个带有日期和时间的 chron 对象,但我尝试了更简单的示例,但我无法得到它

4

2 回答 2

4

这很容易通过以数字方式添加所需的时间来解决:

newseries <- myzooseries 
index(newseries) <- index(myzooseries) + 1/24

chron 对象表示为十进制数字,因此您可以使用它来计算。一天是 1,所以一小时是 1/24,一分钟是 1/1440,依此类推。如果您使用函数时间,您可以很容易地看到这一点。这为您提供了测试对象的时间,例如:

> A <- chron(c("01/01/97","01/02/97","01/03/97"))

> B <- A + 1/24

> B
[1] (01/01/97 01:00:00) (01/02/97 01:00:00) (01/03/97 01:00:00)

> times(A)
Time in days:
[1] 9862 9863 9864

> times(B)
Time in days:
[1] 9862.042 9863.042 9864.042


> times(B-A)
[1] 01:00:00 01:00:00 01:00:00

> times(A[3]-B[1])
Time in days:
[1] 1.958333
于 2010-08-31T14:13:47.953 回答
0

转换为POSIXct,加上 60*60 (1h in s) 然后再转换回来。

于 2010-08-31T14:13:23.363 回答