【发布时间】:2020-06-24 12:52:08
【问题描述】:
我正在尝试为Stratified random sampling from data frame 之后的每个组随机抽取 50% 的数据。在 R 中使用 mtcars 数据集的可重现示例如下所示。我不明白的是,样本索引清楚地显示了一组标记为'5'的齿轮,但是当索引应用于mtcars数据集时,采样数据mtcars2不包含来自gear='5'的任何记录。什么地方出了错?非常感谢。
> set.seed(14908141)
> index=tapply(1:nrow(mtcars),mtcars$gear,function(x){sample(length(x),length(x)*0.5)})
> index
$`3`
[1] 6 7 14 4 12 9 13
$`4`
[1] 12 7 8 4 6 5
$`5`
[1] 5 1
> mtcars2=mtcars[unlist(index),]
> table(mtcars2$gear)
3 4
12 3
【问题讨论】: