#r #time #seconds
#r #время #секунды
Вопрос:
У меня есть столбец с именем «время», в котором некоторые наблюдения указаны в «часах: минутах: секундах», а другие — только в «часах: минутах». Я хотел бы удалить секунды и оставить только часы и минуты. До сих пор я загрузил lubridate
пакет и попробовал:
format(data$time ,format = "%H:%M")
но никаких изменений не происходит.
И с:
data$time <- hm(data$time)
все наблюдения с h: m: s становятся NAs
Что мне делать?
Комментарии:
1. Ваша проблема, скорее всего, возникает из-за неспособности а) понять, что применение функции не изменяет ее аргументы, если вы не присваиваете значения обратно, и б) неясности в отношении того, что вы намеревались делать с результатами.
Ответ №1:
Вы можете использовать parse_date_time
from lubridate
для приведения времени в POSIXct
формат, а затем использовать format
для сохранения необходимой вам информации.
data <- data.frame(time = c('10:04:00', '14:00', '15:00', '12:34:56'))
data$time1 <- format(lubridate::parse_date_time(x, c('HMS', 'HM')), '%H:%M')
data
# time time1
#1 10:04:00 10:04
#2 14:00 14:00
#3 15:00 15:00
#4 12:34:56 12:34
Комментарии:
1. Было бы очень полезно провести четкое различие между различными классами этих столбцов. Форматированный результат может вести себя по-другому, чем столбец даты и времени.