r - 基于分类变量,在 R 中从数据框中子集 n 行

标签 r rows subset

我在 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/

相关文章:

r - 我需要在矩阵的每一列中找到第一个负数

MySQL将具有相同ID的多行合并为一行

时间:2019-05-17 标签:c#mySQLcountresults

r - 如何按 10 的间隔对向量进行子集化?

R 组按聚合

r - 安全、优雅地从向量中删除特定元素

r - 根据列中的值范围删除行

r - 通过在 R 中对数据帧进行子集化来缩小对象内存

r - 将 ggplot 与 ddply 相结合

r - 根据 R 中另一个 df 中的一行中的多个值有条件地填充一个 df 中的列的更好方法