Qual é um método eficiente para particionar e agregar intervalos de linhas com registro de data e hora em um quadro de dados?
Em um quadro de dados com linhas com registro de data e hora (resultados de tempo de execução), qual é o melhor método para agregar estatísticas para intervalos?
Os intervalos podem durar uma hora, um dia etc.
Tem oaggregate
, mas isso não ajuda na atribuição de cada linha a um intervalo. Estou planejando adicionar uma coluna ao quadro de dados que denota intervalo e usá-lo comaggregate
, mas se houver uma solução melhor, seria ótimo ouvi-la.
Obrigado por qualquer indicação!
Dados de exemplo
Cinco linhas com registros de data e hora divididos em intervalos de 15 minutos a partir das 03:00.
Intervalo 1
"2010-01-13 03:02:38 UTC""2010-01-13 03:08:14 UTC""2010-01-13 03:14:52 UTC"Intervalo 2
"2010-01-13 03:20:42 UTC""2010-01-13 03:22:19 UTC"Conclusão
Usando um pacote de séries temporais, comoxts
deve ser a solução; no entanto, não tive sucesso em usá-los e acabei usandocut
. Como atualmente eu só preciso plotar histogramas, com linhas agrupadas por intervalo, isso foi suficiente.
cut
é usado assim:
interv <- function(x, start, period, num.intervals) {
return(cut(x, as.POSIXlt(start)+0:num.intervals*period))
}