问题描述
假设我有两个具有相同数量(和形状)元素的列表。我想绑定这两个列表。
我该怎么做?
谢谢
list1 <- list()
list2 <- list()
list_all <- list()
list1[[1]] <- matrix(c(1,2,3,4),nrow=2)
list1[[2]] <- matrix(c(4,5,6,7),nrow=2)
list2[[1]] <- matrix(c(1,nrow=2)
list2[[2]] <- matrix(c(4,nrow=2)
# combine both sets of matrices at the same time:
list_all <- cbind(list1,list2)
# wrong output
list_all
# combine individually:
list_all[[1]] <- cbind(list1[[1]],list2[[1]])
list_all[[2]] <- cbind(list1[[2]],list2[[2]])
# wrong output
list_all
# desired output
list_all[[1]] <-matrix(c(1,4,1,nrow=2)
list_all[[2]] <-matrix(c(4,7,nrow=2)
list_all
解决方法
使用Map
:
list_all <- Map(cbind,list1,list2)
或 map2
中的 purrr
:
list_all <- purrr::map2(list1,list2,cbind)