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 のランダムな分類群を選択し、それらの分類群内のすべての複製を含める必要があります。
誰かがこれを達成する方法を提案できますか?
どうもありがとう、
M