gpt4 book ai didi

r - 从数据表中,每组随机选择一行

转载 作者:行者123 更新时间:2023-12-04 12:08:40 24 4
gpt4 key购买 nike

我正在寻找一种从数据表中选择行的有效方法,以便我为特定列中的每个唯一值都有一个代表行。

让我举一个简单的例子:

require(data.table)

y = c('a','b','c','d','e','f','g','h')
x = sample(2:10,8,replace = TRUE)
z = rep(y,x)
dt = as.data.table( z )

我的目标是通过对 z 列中的每个字母 a-h 采样一行来对数据表 dt 进行子集化。

最佳答案

OP 在示例中仅提供了一个列。假设原始数据集中有多列,我们按'z'分组,sample从每组的行序列中提取 1 行,获取行索引 ( .I ),提取具有行索引 ( $V1 ) 的列,并使用它对 'dt' 的行进行子集化。

dt[dt[ , .I[sample(.N,1)] , by = z]$V1]

关于r - 从数据表中,每组随机选择一行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33887083/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com