Pregunta
Utilizando dplyr
, ¿cómo selecciono las observaciones / filas superiores e inferiores de datos agrupados en una declaración?
Datos y ejemplo
Dado un marco de datos
df <- data.frame(id=c(1,1,1,2,2,2,3,3,3),
stopId=c("a","b","c","a","b","c","a","b","c"),
stopSequence=c(1,2,3,3,1,4,3,1,2))
Puedo obtener las observaciones superior e inferior de cada grupo usando slice
, pero usando dos declaraciones separadas:
firstStop <- df %>%
group_by(id) %>%
arrange(stopSequence) %>%
slice(1) %>%
ungroup
lastStop <- df %>%
group_by(id) %>%
arrange(stopSequence) %>%
slice(n()) %>%
ungroup
¿Puedo combinar estos dos statmenets en uno que seleccione las observaciones superiores e inferiores?