Cbind 列表元素
Cbind elements of a list
假设我有两个具有相同数量(和形状)元素的列表。我想将这两个列表绑定在一起。
我该怎么做?
谢谢
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,2,3,4), nrow=2)
list2[[2]] <- matrix(c(4,5,6,7), 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,2,3,4,1,2,3,4),nrow=2)
list_all[[2]] <-matrix(c(4,5,6,7,4,5,6,7),nrow=2)
list_all
使用Map
:
list_all <- Map(cbind, list1, list2)
或 map2
在 purrr
中:
list_all <- purrr::map2(list1, list2, cbind)
假设我有两个具有相同数量(和形状)元素的列表。我想将这两个列表绑定在一起。
我该怎么做?
谢谢
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,2,3,4), nrow=2)
list2[[2]] <- matrix(c(4,5,6,7), 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,2,3,4,1,2,3,4),nrow=2)
list_all[[2]] <-matrix(c(4,5,6,7,4,5,6,7),nrow=2)
list_all
使用Map
:
list_all <- Map(cbind, list1, list2)
或 map2
在 purrr
中:
list_all <- purrr::map2(list1, list2, cbind)