मैं पहली "लंबी" सूची l को कैसे बदल सकता हूं:
l <- list()
n=1
for (i in 1:9) {
l[[length(l)+1]] <- n:(n+2)
n=n+3
}
सूचियों की एक विस्तृत लेकिन छोटी सूची में योग्य: अगले कोड खंड में l के प्रत्येक 3 तत्वों के बाद मैं टूट रहा हूं।
lol <- list()
lol[[1]] <- list(1:3,4:6,7:9)
lol[[2]] <- list(10:12,13:15,16:18)
lol[[3]] <- list(19:21,22:24,25:27)
कोई विचार? क्या होगा अगर मैं एल के हर 2 तत्वों के बाद तोड़ना चाहता हूं।
2
Andre Elrico
18 जिंदा 2017, 20:59
1 उत्तर
सबसे बढ़िया उत्तर
आप इसे एक वेक्टर 1,1,1,2,2,2,3,3,3
से विभाजित कर सकते हैं:
n = 3 # the length of each sub list
split(l, (seq_along(l) - 1) %/% n)
identical(lol, setNames(split(l, (seq_along(l) - 1) %/% 3), NULL))
# [1] TRUE
2
Psidom
18 जिंदा 2017, 21:12
identical
चेक पास नहीं करता, बल्कि दूसरा तरीका है:tapply(l, rep(1:3, each=3), FUN = c)