2

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

4

1 に答える 1

2

分類群からのサンプルと、data.frame のサブセットからこれらの分類群へのサンプル:

df <- read.table(header = TRUE, stringsAsFactors=FALSE, text = '                          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')

set.seed(1234)
take <- sample(unique(df$Taxon), 2)
df[df$Taxon %in% take, ]
                             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
于 2013-10-17T15:19:42.970 に答える