0

splitstackshape パッケージの層化関数を使用して、R で層化サンプリングを実行しようとしています。4 つの階層があります (ラベルは 1:4)。サイズを 1 に設定すると、各階層に属する 1 つの行が返されます (すばらしい!)。ただし、サンプル サイズを 1 ずつ増やすことはできません。

5 つの行を選択する必要があります。そのうちの 4 つは層 1:4 に属し、5 番目の行は層 #1 (私の研究サイトで最も多くの領域をカバーする層) に属します。理想的には、これは置換なしで行われるため、階層 #1 からサンプリングされた 2 番目の行は最初の行と同じにはなりません。

サイズを 1 ~ 1.99 に設定すると、各階層から常に 1 行 (合計 4 行) が返されます。サイズを 2 に設定すると、8 行 (各層から 2 行) が返されます。

データフレーム

homer_join_strat<- structure(list(cluster = c(4L, 3L, 4L, 5L, 5L, 4L, 4L, 4L, 5L, 
5L, 5L, 1L, 1L, 1L, 1L, 3L, 1L, 1L, 1L, 5L, 1L, 1L, 5L, 4L, 4L, 
4L), waterbody = c("Homer", "Homer", "Homer", "Homer", "Homer", 
"Homer", "Homer", "Homer", "Homer", "Homer", "Homer", "Homer", 
"Homer", "Homer", "Homer", "Homer", "Homer", "Homer", "Homer", 
"Homer", "Homer", "Homer", "Homer", "Homer", "Homer", "Homer"
), transect_number = 1:26, BLG = c(75, 38.4204909284952, 77.634011090573, 
82.1917808219178, 119.341563786008, 22.5422667501565, 155.275381552754, 
81.1332904056665, 37.037037037037, 73.2824427480916, 71.608040201005, 
208.806818181818, 116.504854368932, 119.775421085465, 104.408352668213, 
117.391304347826, 12.0603015075377, 93.5593220338983, 166.795366795367, 
20, 91.566265060241, 70.8860759493671, 0, 44.8765893792072, 0, 
3.96563119629874), GSF = c(0, 6.4034151547492, 11.090573012939, 
16.4383561643836, 4.11522633744856, 0, 0, 0, 0, 4.58015267175573, 
0, 21.3068181818182, 0, 0, 6.96055684454756, 0, 0, 0, 0, 0, 0, 
0, 0, 0, 0, 0), LMB = c(51.3157894736842, 83.2443970117396, 73.9371534195933, 
71.2328767123288, 28.8065843621399, 37.5704445835942, 59.721300597213, 
38.6349001931745, 66.6666666666667, 77.8625954198473, 67.8391959798995, 
63.9204545454545, 46.6019417475728, 22.4578914535246, 6.96055684454756, 
13.0434782608696, 24.1206030150754, 40.6779661016949, 60.2316602316602, 
56, 28.9156626506024, 55.6962025316456, 20.2360876897133, 31.413612565445, 
0, 31.7250495703899), YLB = c(0, 0, 14.7874306839187, 0, 4.11522633744856, 
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4.63320463320463, 0, 0, 
0, 0, 0, 0, 0), BLC = c(7.89473684210526, 12.8068303094984, 7.39371534195933, 
10.958904109589, 0, 0, 3.9814200398142, 0, 3.7037037037037, 13.7404580152672, 
11.3065326633166, 12.7840909090909, 3.88349514563107, 3.74298190892077, 
0, 0, 0, 4.06779661016949, 0, 16, 9.63855421686747, 5.06329113924051, 
20.2360876897133, 22.4382946896036, 0, 7.93126239259749), WHC = c(0, 
0, 0, 0, 0, 0, 3.9814200398142, 0, 7.40740740740741, 0, 0, 0, 
0, 7.48596381784155, 0, 0, 0, 0, 0, 0, 0, 10.126582278481, 0, 
4.48765893792072, 0, 0), RSF = c(0, 0, 0, 0, 0, 0, 11.9442601194426, 
0, 0, 13.7404580152672, 0, 0, 0, 0, 0, 0, 0, 0, 27.7992277992278, 
0, 4.81927710843374, 0, 0, 4.48765893792072, 0, 0), CCF = c(0, 
0, 0, 0, 0, 0, 0, 0, 3.7037037037037, 0, 0, 0, 3.88349514563107, 
0, 0, 0, 0, 8.13559322033898, 0, 0, 0, 0, 0, 0, 0, 0), BLB = c(0, 
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8.52272727272727, 0, 0, 0, 0, 0, 
0, 0, 0, 0, 0, 0, 0, 0, 0)), class = "data.frame", row.names = c(NA, 
-26L))

コード

stratified(homer_join_strat, "cluster",  size=.06)
stratified(homer_join_strat, "cluster",  size=.07)
stratified(homer_join_strat, "cluster",  size=.09)
stratified(homer_join_strat, "cluster",  size=2)

この関数を使用して、データ内の階層数と等しくない、または倍数ではない行数を選択した経験のある人はいますか?

サイズ = .06、.07、.09 をそれぞれ設定することで、1、2、3、行 (正方形の領域の順) を選択することができます (1 ~ 1.99 の数値で 5 行になると考えた理由選択済み

前もって感謝します!

4

1 に答える 1