Почему я получаю NA, добавляя 64 минуты ко времени в r? - PullRequest
0 голосов
/ 05 марта 2020

Я получаю NA , добавляя время к минутам. Почему?

time1<- as.ITime(paste0("07:47:00")) +as.ITime(paste0("00:",64, ":00"))

Это дает NA вместо 08: 51: 00 . Почему?

Ответы [ 3 ]

0 голосов
/ 05 марта 2020

Используя базу R, вы можете сделать:

format(as.POSIXct("07:47:00", format = "%T") + 64 * 60, "%T")
#[1] "08:51:00"

Или используя lubridate

library(lubridate)
hms('07:47:00') + seconds_to_period(minutes(64))
#[1] "8H 51M 0S"
0 голосов
/ 05 марта 2020

Должно быть так:

time1<- as.ITime(paste0("07:47:00")) +as.ITime(paste0("01:",04, ":00"))

64 минуты - 1 час 4 минуты.

0 голосов
/ 05 марта 2020

paste0("00:",64, ":00") дает "00:64:00", что невозможно как время. Вы можете добавить минуты как число, умноженное на секунды.

library(data.table)

time1 <- as.ITime(paste0("07:47:00")) + 64*60
# [1] "08:51:00"

Вы также можете сделать

as.ITime(paste0("07:47:00")) + as.ITime(64*60)

, начиная с

as.ITime(64*60)
# [1] "01:04:00"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...