首页 > 解决方案 > 如何在循环中将向量拆分为更小的向量?

问题描述

我在 R 中有一个 1253 个字符串的列表。

EMT
"1", "2", "3", ..., "1252", "1253" 

我想将它分成几乎相等的部分,以便在每个子列表中有 ~100 个值。

我能够做到这一点

split(EMT, rep(1:13))

它拆分了我的列表。但我认为我需要将这些子列表分配给变量,以便能够使用它们进行进一步分析。

我想要的输出是

EMT1
"1", "2", ..., "96"

EMT2
"97", "98", ..., "192"
...
EMT13
"1157", ..., "1253" 

标签: r

解决方案


这会起作用吗:

EMT <- list(1:1253)
EMT <- sapply(EMT, as.character)
mylist <- split(EMT, rep(1:13))
names(mylist) <- lapply(names(mylist), function(x) paste0('EMT',x))
names(mylist)
 [1] "EMT1"  "EMT2"  "EMT3"  "EMT4"  "EMT5"  "EMT6"  "EMT7"  "EMT8"  "EMT9"  "EMT10" "EMT11" "EMT12" "EMT13"
 list2env(mylist, .GlobalEnv)

推荐阅读