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 で他の一般的なタスクを実行する方法について説明します。

R でベクトルをフィルターする方法
RのベクトルからNA値を削除する方法
Rのベクトルから特定の要素を削除する方法

コメントを追加する

メールアドレスが公開されることはありません。 が付いている欄は必須項目です