假设我有三个列表:
List1 <- list(c(1,2,3),c('A','B','C','D'),c(0,2))
List2 <- list(c(5,6,7),c('AA','BB','CC','DD'),c(1,5))
List3 <- list(c(1,1,1),c('F','G','H','E'),c(0,6))
所需结果应为以下列表:
List
[[1]]
1 5 1
2 6 1
3 7 1
[[2]]
'A' 'AA' 'F'
'B' 'BB' 'G'
'C' 'CC' 'H'
'D' 'DD' 'E'
[[3]]
0 2
1 5
0 6
我尝试使用cbind(List1,List2,List3),但是没有给出所需的结果。
我该如何解决?
答案 0 :(得分:3)
您可以这样做:
mapply(cbind, List1, List2, List3)
[[1]]
[,1] [,2] [,3]
[1,] 1 5 1
[2,] 2 6 1
[3,] 3 7 1
[[2]]
[,1] [,2] [,3]
[1,] "A" "AA" "F"
[2,] "B" "BB" "G"
[3,] "C" "CC" "H"
[4,] "D" "DD" "E"
[[3]]
[,1] [,2] [,3]
[1,] 0 1 0
[2,] 2 5 6
答案 1 :(得分:1)
我们可以将名称为List
的对象后跟list
,transpose
(来自purrr
)中的数字并将其转换为tibble
或data.frame
library(tidyverse)
mget(paste0("List", 1:3)) %>%
transpose %>%
map(as_tibble)