[英]How to split a vector into smaller vectors in a loop?
我在 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"
這是否有效:
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)
您可以創建每組 96 個元素的組並將數據拆分為列表。
EMT <- as.character(1:1253)
list_data <- split(EMT, paste0('EMT', ceiling(seq_along(EMT)/96)))
通常,最好將數據保存在列表中,而不是在全局環境中有很多變量,但是,如果您仍然希望它們作為單獨的對象,請使用list2env
。
list2env(list_data, .GlobalEnv)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.