根据行位置范围对分组数据框进行子集化
Subset a grouped data frame based on range of row position
我有一个分组数据框,我希望为每个组(名称)保留给定范围内的行。例如,在第 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
这里我想要这样的输出
name x
1 a 2
2 a 3
3 b 5
4 c 7
5 c 8
谢谢,
我找到的解决方案是使用 dplyr::slice(2:3)
首先,group_by
name
,然后 slice
从索引 2:3
:
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
我有一个分组数据框,我希望为每个组(名称)保留给定范围内的行。例如,在第 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
这里我想要这样的输出
name x
1 a 2
2 a 3
3 b 5
4 c 7
5 c 8
谢谢,
我找到的解决方案是使用 dplyr::slice(2:3)
首先,group_by
name
,然后 slice
从索引 2:3
:
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