R でベクトルを複数の部分に分割する方法
次の基本構文を使用して、R でベクトルを複数の部分に分割できます。
chunks <- split(my_vector, cut(seq_along(my_vector), 4 , labels= FALSE ))
この特定の例では、 my_vectorというベクトルを4 つの等しいサイズの部分に分割します。
ベクトルを別の数に分割するには、 4を別の値に置き換えるだけです。
次の例は、この構文を実際に使用する方法を示しています。
例: R でベクトルを部分に分割する
R に合計 12 個の要素を含む次のベクトルがあるとします。
#createvector my_vector <- c(2, 2, 4, 7, 6, 8, 9, 8, 8, 12, 5, 4) #view length of vector length(my_vector) [1] 12
次の構文を使用して、ベクトルを 4 つの部分に分割できます。
#split vector into four chunks chunks <- split(my_vector, cut(seq_along(my_vector), 4 , labels= FALSE )) #view chunks chunks $`1` [1] 2 2 4 $`2` [1] 7 6 8 $`3` [1] 9 8 8 $`4` [1] 12 5 4
結果から次のことがわかります。
- 最初のチャンクには値 2、2、4 が含まれます。
- 2 番目の部分には値 7、6、8 が含まれています。
- 3 番目の部分には、値 9、8、8 が含まれています。
- 4 番目の部分には、値 12、5、4 が含まれています。
角括弧を使用して特定のチャンクに移動することもできることに注意してください。
#access second chunk only
chunks[2]
$`2`
[1] 7 6 8
Split()関数の値を変更すると、ベクトルを異なる数の部分に分割できます。
たとえば、ベクトルを 6 つの部分に分割できます。
#split vector into six chunks chunks <- split(my_vector, cut(seq_along(my_vector), 6 , labels= FALSE )) #view chunks chunks $`1` [1] 2 2 $`2` [1] 4 7 $`3` [1] 6 8 $`4` [1] 9 $`5` [1] 8 8 $`6` [1] 12 5
現在 6 つの曲があり、各曲には 2 つの要素が含まれていることに注意してください。
注: ベクトルに偶数の要素が含まれていない場合、このメソッドは常にベクトルを可能な限り同じサイズのグループに分割します。
追加リソース
次のチュートリアルでは、R で他の一般的なタスクを実行する方法について説明します。