【发布时间】:2015-10-10 07:30:11
【问题描述】:
问题
使用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 合并为一个同时选择 顶部和底部观察值吗?
【问题讨论】: