如何在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

我们可以使用以下语法将向量分成四部分:

 #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。
  • 第二块包含值7、6、8。
  • 第三块包含值9,8,8。
  • 第四块包含值12、5、4。

请注意,我们还可以使用方括号导航到特定块:

 #access second chunk only
chunks[2]

$`2`
[1] 7 6 8

如果我们改变split()函数中的值,我们可以将向量分割成不同数量的部分。

例如,我们可以将向量分为六部分:

 #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

请注意,现在有六首歌曲,每首歌曲包含两个元素。

注意:如果您的向量不包含偶数个元素,则此方法始终将向量划分为尽可能大小相等的组。

其他资源

以下教程解释了如何在 R 中执行其他常见任务:

如何在 R 中过滤向量
如何从R中的向量中删除NA值
如何从R中的向量中删除特定元素

添加评论

您的电子邮箱地址不会被公开。 必填项已用*标注