Ho una lista asimmetrica, cioè il numero di elementi in ogni sottoelenco è diverso. Come posso convertire l'elenco in una matrice?R: convertire la lista asimmetrica in matrice - il numero di elementi in ciascuna sottodirectory differisce
Di seguito, iniziare con un elenco simmetrico e convertirlo in una matrice in due modi diversi.
# create a symmetric list
my.list1 <- list(c(1,2,3,4),c(5,6,7,8),c(9,10,11,12))
my.list1
# convert symmetric list to a matrix
mat.a1 <- matrix(unlist(my.list1), nrow=length(my.list1), byrow=T)
mat.a1
# alternative method to convert symmetric list to a matrix
mat.b1 <- do.call(rbind, my.list1)
mat.b1
Poi ho creare una lista asimmetrica:
# create an asymmetric list
my.list2 <- list(c(1,2,3,4),c(5,6,7,8,9),c(10,11,12,13))
my.list2
Qui è la matrice desiderata:
# desired result
# [,1] [,2] [,3] [,4] [,5]
# [1,] 1 2 3 4 NA
# [2,] 5 6 7 8 9
# [3,] 10 11 12 13 NA