我正在尝试从包含 100 个分类单元的原始数据帧中随机抽取 50 个分类单元作为新数据帧。对于随机选择的 50 个分类单元,我想保留所有 4 列的信息。我的原始数据框(high.diversity)的一个子集如下所示:
Taxon C N func.group
1 Curculionidae.Ischapterapion.sp. -29.06 2.19 herbivore
2 Curculionidae.Ischapterapion.sp. -29.27 1.60 herbivore
3 Curculionidae.Protapion.sp. -28.45 1.91 herbivore
4 Curculionidae.Protapion.sp. -25.99 0.55 herbivore
5 Curculionidae.Protapion.sp. -28.27 1.52 herbivore
6 Curculionidae.Hypera.meles -25.41 3.38 herbivore
7 Curculionidae.Sitona.sp. -27.05 2.01 herbivore
8 Curculionidae.Sitona.sp. -26.70 3.07 herbivore
.....
230
对于我的每个分类单元,我有 1-5 个重复,所以我有 100 个分类单元,但有 230 个数据点。(例如 Curculionidae.Ischapterapion.sp. 在上表中有 2 个重复)。
我已经使用以下代码成功地随机采样了 50 行:
new.df<-high.diversity[sample(nrow(high.diversity),50),]
但是,我的问题是上面的代码给出了 50 行,但我真正想要的是随机选择 50 个分类单元,并为每个分类单元进行所有复制。(即每个具有多个重复的 50 个分类单元可能会提供接近 100 行)。因此,我需要更改上面的代码以选择 50 个随机分类单元并在这些分类单元中包含所有复制。
谁能建议我如何实现这一目标?
非常感谢,
米