2015-10-19 3 views
0

Было интересно, если кто-то может помочьВывод минут из времени (в формате 24 часа)?

time <-c("16:09", "05:26", "08:47", "03:04", "03:07", "02:01") 
min <-c(60, 5, 124, 35, 400, 2) 

Я хочу, чтобы извлечь пересмотренное время с п-й элемент вектора «мин» вычтена из п-й элемент вектора «времени». Так, например, 1-й элемент векторного «пересмотренного времени» должен быть 15.09 после вычитания 60 минут.

Заранее спасибо

A

ответ

0

Вам нужно форматировать время вектора первым. После этого вы можете вычитать секунды, как это:

time2<-strptime(time, "%H:%M") 
time2[1]-(60*60) 

[1] "2015-10-19 15:09:00 CEST" 
0

Вы можете сделать это в lubridate

library(lubridate) 

hm(time) - new_period(minute = min) 
2

Это должно дать вам то, что вы ищете, но вы можете рассмотреть специальный пакет:

time <- c("16:09", "05:26", "08:47", "03:04", "03:07", "02:01") 
min <- c(60, 5, 124, 35, 400, 2) 

format(strptime(time, "%M:%S") - min, "%M:%S") 
# [1] "15:09" "05:21" "06:43" "02:29" "56:27" "01:59" 
+0

Привет там это работает отлично для большинства, за исключением для элемента 5 - дает время «56:27», а не время в 24-часовом формате? – user3919790

Смежные вопросы