我在 R 中有一个数据框(比如 x):
> x
Height Weight Gender
5 60 m
5 70 m
6 80 m
4 90 m
4 60 m
5 70 f
5 80 f
6 60 f
4 90 f
4 60 f
我需要一个 R 代码来生成一个新的数据框,比如说 y,它按性别取 X 的子集,并且只有每个性别的前三行 (1:3) 给出如下结果。
>y
Height Weight Gender
5 60 m
5 70 m
6 80 m
5 70 f
5 80 f
6 60 f
最佳答案
试试 slice
来自 dplyr
library(dplyr)
x %>%
group_by(Gender) %>%
slice(1:3)
或使用
data.table
library(data.table)
setDT(x)[,.SD[1:3] , Gender]
关于r - 基于分类变量,在 R 中从数据框中子集 n 行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29803484/