Pytanie
Używając dplyr
, jak wybrać górne i dolne obserwacje / wiersze zgrupowanych danych w jednej instrukcji?
Dane i przykład
Biorąc pod uwagę ramkę danych
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))
Mogę uzyskać górne i dolne obserwacje z każdej grupy, używając slice
, ale używając dwóch oddzielnych instrukcji:
firstStop <- df %>%
group_by(id) %>%
arrange(stopSequence) %>%
slice(1) %>%
ungroup
lastStop <- df %>%
group_by(id) %>%
arrange(stopSequence) %>%
slice(n()) %>%
ungroup
Czy mogę połączyć te dwa zestawienia statystyk w jedno, które wybiera zarówno górne, jak i dolne obserwacje?