Вопрос
Используя dplyr
, как я могу выбрать верхние и нижние наблюдения/строки сгруппированных данных в одном выражении?
Данные и пример
С учетом кадра данных
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))
Я могу получить верхние и нижние наблюдения из каждой группы, используя slice
, но используя две отдельные записи:
firstStop <- df %>%
group_by(id) %>%
arrange(stopSequence) %>%
slice(1) %>%
ungroup
lastStop <- df %>%
group_by(id) %>%
arrange(stopSequence) %>%
slice(n()) %>%
ungroup
Можно ли объединить эти два statmenets в один, который отображает как верхние, так и нижние наблюдения?