問題從分組數據
使用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
每組頂部和底部的觀察,但使用兩個單獨的statments:
firstStop <- df %>%
group_by(id) %>%
arrange(stopSequence) %>%
slice(1) %>%
ungroup
lastStop <- df %>%
group_by(id) %>%
arrange(stopSequence) %>%
slice(n()) %>%
ungroup
我可以結合這兩個statmenets到一個選擇均爲頂部和底部觀察?
'ROWNUMBER()以%C(%1,N( ))將避免兩次運行向量掃描的需要 – MichaelChirico
@MichaelChirico I懷疑你省略了一個'_'?即'filter(row_number()%in%c(1,n()))' –