Question
En utilisant dplyr
, comment sélectionner les observations / lignes du haut et du bas de données groupées dans une instruction?
Données et exemple
Étant donné une trame de données
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))
Je peux obtenir les observations du haut et du bas de chaque groupe en utilisant slice
, mais en utilisant deux déclarations distinctes:
firstStop <- df %>%
group_by(id) %>%
arrange(stopSequence) %>%
slice(1) %>%
ungroup
lastStop <- df %>%
group_by(id) %>%
arrange(stopSequence) %>%
slice(n()) %>%
ungroup
Puis-je combiner ces deux statmenets en un seul qui sélectionne les observations du haut et du bas?