Вопрос

Как я могу добавить один час до всех элементов индекса серии зоопарка?

я пробовал

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

Но я получаю сообщение

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

Спасибо

Мой индекс - это хрон с датой и временем, но я пробовал с простыми примерами, и я не могу получить его

Это было полезно?

Решение

Это легко решается, добавив время, которое вы хотите в численном виде:

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

Другие советы

Перевести в POSIXct, Добавьте 60 * 60 (1H в S), а затем конвертируйте обратно.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top