R 根据行位置范围对分组数据帧进行子集划分

R 根据行位置范围对分组数据帧进行子集划分,r,dataframe,dplyr,datatable,R,Dataframe,Dplyr,Datatable,我有一个分组数据框,我希望为每个组(名称)保留给定范围内的行。例如,在第2和第3位置之间 df <- data.frame(name = c("a", "a", "a", "b", "b", "c", "c", "c", "c"), x = 1:9) df name x 1 a 1 2 a 2 3

我有一个分组数据框,我希望为每个组(名称)保留给定范围内的行。例如,在第2和第3位置之间

df <- data.frame(name = c("a", "a", "a", "b", "b", "c", "c", "c", "c"), x = 1:9)
df
  name x
1    a 1
2    a 2
3    a 3
4    b 4
5    b 5
6    c 6
7    c 7
8    c 8

谢谢,

我找到的解决方案是先使用
dplyr::slice(2:3)
name
分组,然后从索引
2:3
中选择
slice

library(dplyr)
df %>%
  group_by(name) %>%
  slice(2:3)
# A tibble: 5 x 2
# Groups:   name [3]
  name      x
  <chr> <int>
1 a         2
2 a         3
3 b         5
4 c         7
5 c         8
库(dplyr)
df%>%
分组单位(名称)%>%
切片(2:3)
#一个tibble:5x2
#分组:名称[3]
名称x
1 a 2
2 a 3
3 b 5
4 c 7
5 c 8
library(dplyr)
df %>%
  group_by(name) %>%
  slice(2:3)
# A tibble: 5 x 2
# Groups:   name [3]
  name      x
  <chr> <int>
1 a         2
2 a         3
3 b         5
4 c         7
5 c         8