Operando com intervalos de tempo como 08: 00-08: 15
-
20-08-2019 - |
Pergunta
Gostaria de importar uma série temporal onde o primeiro campo indica um período:
08:00-08:15
08:15-08:30
08:30-08:45
R tem algum recurso para fazer isso ordenadamente?
Obrigado!
Atualizar:
A solução mais promissora que encontrei, como sugerido por Godeke foi o pacote Cron e usando substring () para extrair o início do intervalo.
Ainda estou trabalhando em questões relacionadas, então atualizarei com a solução quando chegar lá.
Solução
Então você recebe um vetor de personagem como c("08:00-08:15",08:15-08:30)
E você deseja converter para um tipo de dados R interno para consistência? Confira os arquivos de ajuda para POSIXT e STRFTIME.
Que tal uma função como esta:
importTimes <- function(t){
t <- strsplit(t,"-")
return(lapply(t,strptime,format="%H:%M:%S"))
}
Isso levará um vetor de personagem como você descreveu e devolverá uma lista do mesmo comprimento, cada elemento do qual é um vetor de 2 do Posixt, dando o horário de início e término (na data de hoje). Se você quiser, pode adicionar um paste("1970-01-01",x)
Em algum lugar dentro da função para padronizar a data que você está vendo, se for um problema.
Isso ajuda?
Outras dicas
Cran mostra um pacote atualizado ativamente chamado "Chron" que lida com datas. Você pode querer verificar isso e alguns dos outros módulos encontrados aqui: http://cran.r-project.org/web/views/timeseries.html
XTS e zoológico lidam com dados irregulares de séries temporais sobre isso. Não estou familiarizado com esses pacotes, mas uma rápida olhada indica que você deve poder usá -los com bastante facilidade, dividindo -se no hífen e carregando as estruturas que eles fornecem.