Frecuencias de conteo de fechas continuas

Tengo un data.frame en la forma:

Date
2011-08-16
2011-08-17
2011-08-28
2011-09-01
2011-09-05
2011-09-06
2011-10-01
2011-10-02
2011-10-03
2011-10-04

Lo que me gustaría hacer es tomar un conteo de ejecución cuando las fechas ocurren en orden, es decir, están una al lado de la otra.

En el ejemplo anterior, tendríamos 2,1,1,2,4

preguntado el 03 de mayo de 12 a las 07:05

1 Respuestas

Qué tal esto:

Hacer datos de ejemplo reproducibles:

dat <- read.table(text = "2011-08-16
2011-08-17
2011-08-28
2011-09-01
2011-09-05
2011-09-06
2011-10-01
2011-10-02
2011-10-03
2011-10-04")

Obtenga el conteo de ejecución de fechas consecutivas usando rle, Siguiendo esta respuesta y esta respuesta:

(rle (cumsum( c(0, diff(as.Date(dat$V1)) > 1) ) ) )$lengths
[1] 2 1 1 2 4

contestado el 23 de mayo de 17 a las 11:05

Gracias. ¡No sabía sobre diff! Sin embargo, no necesitas cumsum para esto. - David

@davewolfs No estoy seguro de lo que quieres decir con no necesitar cumsum. Si lo dejo así: (rle (( c(0, diff(as.Date(dat$V1)) > 1) ) ) )$lengths entonces obtengo algo diferente a lo que quieres: [1] 2 3 1 1 3 - paquet

runs <- rle(c(1,diff(as.Date(dat$Date)) > 1)) table(runs$lengths[runs$values == 0]) - David

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.