Calcule a sequência de caracteres "dias, horas, minutos, segundos" para o total numérico de dias [duplicado]

Esta pergunta já tem uma resposta aqui:

R extrai componentes de tempo de strings semi-padrão 2 respostas

Vi muitas perguntas relacionadas a horários de formatação, mas nenhuma no formato importado específico que tenho:

Time <- c(
"22 hours 3 minutes 22 seconds", 
"170 hours 15 minutes 20 seconds", 
"39 seconds", 
"2 days 6 hours 44 minutes 17 seconds", 
"9 hours 54 minutes 36 seconds", 
"357 hours 23 minutes 28 seconds", 
"464 hours 30 minutes 7 seconds", 
"51 seconds", 
"31 hours 39 minutes 2 seconds", 
"355 hours 29 minutes 10 seconds")

Alguns momentos contêm apenas "segundos" e outros "minutos e segundos", "dias, horas, minutos e segundos", "dias e segundos" etc. etc. Também existem valores de NA que preciso manter. Como faço para que esse vetor de caractere calcule (ou seja, adicione dias, horas, minutos, segundos) o total de dias numéricos?

Por exemplo

Time
8.10
19.3
0.68
2.28
48.1
0.00
0.70
0.1
3.2
13.9

Obrigado

EDITA

Velha pergunta, mas um simpleslubridate chamada faz o truque agora:

(period_to_seconds(period(time)) / 86400) %>% round(2)

@This também faz o truque sem outros pacotes que não sejam o%>% para facilitar a leitura:

Time_vec <- mapply(function(tt, to_days) {
  ifelse(grepl(tt, Time), gsub(paste0("^.*?(\\d+) ", tt, ".*$"), "\\1", Time), 0) %>%
    as.numeric() / to_days
    },
  c("day", "hour", "minute", "second"),
  c(1, 24, 1440, 86400)
) %>%
  apply(1, sum) %>% 
  round(2)

Nos meus dados reais, apenas um valor era diferente dolubridate solução,0.96 vs0.97.

questionAnswers(4)

yourAnswerToTheQuestion