我有一个列表,每个成员的结构与下面相同
config <- NULL
config[["secA"]] <- NULL
config[["secA"]]$VAL <- 0
config[["secA"]]$ARR <- c(1,2,3,4,5)
config[["secA"]]$DF <- data.frame(matrix(c(1,5,3,8),2,2))
config[["secB"]] <- NULL
config[["secB"]]$VAL <- 1
config[["secB"]]$ARR <- c(1,3,2,4,9)
config[["secB"]]$DF <- data.frame(matrix(c(2,6,1,9),2,2))
config[["secC"]] <- NULL
config[["secC"]]$VAL <- 5
config[["secC"]]$ARR <- c(4,2,1,5,8)
config[["secC"]]$DF <- data.frame(matrix(c(4,2,1,7),2,2))
并且我需要获得3个向量VAL
、ARR
和DF
,每个向量都具有相应成员的连接元素。例如
# VAL: 0,1,5
# ARR: 1,2,3,4,5,1,3,2,4,9,4,2,1,5,8
# DF: 1,5,3,8,2,6,1,9,4,2,1,7
在类似的情况下,我觉得我需要使用do.call
和cbind
或lapply
的组合,但我没有线索。有什么建议吗?
2条答案
按热度按时间mv1qrgav1#
或者可以使用this clist函数
不幸的是,没有其他答案。
它合并数据框和矩阵,因此需要
unlist
来获得所需的向量功能说明
dgsult0t2#
另一种方法,代码稍微少一点。
这将返回OP请求的3个向量。然而,通常情况下,将结果存储在rawr建议的列表中更有利。当然,您可以采用上面的代码,以便将结果存储在列表中。