如何在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 中执行其他常见任务: