[英]Convert a list into a nested named vector with the same length in R
假設列表x
x <- list(a = c(1, 2, 3), b = c(4, 5))
我想取回一個具有相同長度的命名向量,看起來像
c(a = c(1, 2, 3), b = c(4, 5))
我的第一個想法是使用 for 循環
out <- vector(typeof(x), length(x))
x_names <- names(x)
for (i in seq_along(x)) {
out[i] <- x[[i]]
}
names(out) <- c(x_names)
有沒有辦法在沒有 for 循環的情況下做到這一點?
如何將do.call()
與c()
一起使用?
do.call(c,x)
或者
unlist(x)
Output
a1 a2 a3 b1 b2
1 2 3 4 5
lapply(1:length(x) , \(i) unlist(x[i]))
#> [[1]]
#> a1 a2 a3
#> 1 2 3
#>
#> [[2]]
#> b1 b2
#> 4 5
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.