So konvertieren sie eine liste in eine matrix in r (mit beispielen)


Sie können die folgende Syntax verwenden, um eine Liste in eine Matrix in R umzuwandeln:

 #convert list to matrix (by row)
matrix(unlist(my_list), ncol= 3 , byrow= TRUE )

#convert list to matrix (by column)
matrix(unlist(my_list), ncol= 3 )

Die folgenden Beispiele zeigen, wie Sie diese Syntax in der Praxis anwenden können.

Beispiel 1: Konvertieren einer Liste in eine Matrix (nach Zeilen)

Der folgende Code zeigt, wie man eine Liste in eine Matrix (nach Zeilen) in R umwandelt:

 #create list
my_list <- list(1:3, 4:6, 7:9, 10:12, 13:15)

#view list
my_list

[[1]]
[1] 1 2 3

[[2]]
[1] 4 5 6

[[3]]
[1] 7 8 9

[[4]]
[1] 10 11 12

[[5]]
[1] 13 14 15

#convert list to matrix
matrix(unlist(my_list), ncol= 3 , byrow= TRUE )

     [,1] [,2] [,3]
[1,] 1 2 3
[2,] 4 5 6
[3,] 7 8 9
[4,] 10 11 12
[5,] 13 14 15

Das Ergebnis ist eine Matrix aus 5 Zeilen und 3 Spalten.

Beispiel 2: Konvertieren einer Liste in eine Matrix (nach Spalten)

Der folgende Code zeigt, wie man eine Liste in eine Matrix (nach Spalten) in R umwandelt:

 #create list
my_list <- list(1:5, 6:10, 11:15)

#view list
my_list

[[1]]
[1] 1 2 3 4 5

[[2]]
[1] 6 7 8 9 10

[[3]]
[1] 11 12 13 14 15

#convert list to matrix
matrix(unlist(my_list), ncol= 3 )

     [,1] [,2] [,3]
[1,] 1 6 11
[2,] 2 7 12
[3,] 3 8 13
[4,] 4 9 14
[5,] 5 10 15

Das Ergebnis ist eine Matrix aus 5 Zeilen und 3 Spalten.

Vorsichtsmaßnahmen zum Konvertieren einer Liste in ein Array

Beachten Sie, dass R einen Fehler auslöst, wenn Sie versuchen, eine Liste in eine Matrix umzuwandeln, in der nicht jede Position in der Liste die gleiche Anzahl von Elementen enthält.

Das folgende Beispiel verdeutlicht diesen Punkt:

 #create list
my_list <- list(1:5, 6:10, 11:13)

#view list
my_list

[[1]]
[1] 1 2 3 4 5

[[2]]
[1] 6 7 8 9 10

[[3]]
[1] 11 12 13

#attempt to convert list to matrix
matrix(unlist(my_list), ncol= 3 )

Warning message:
In matrix(unlist(my_list), ncol = 3):
  data length [13] is not a sub-multiple or multiple of the number of rows [5]

Zusätzliche Ressourcen

In den folgenden Tutorials wird erläutert, wie Sie andere gängige Konvertierungen in R durchführen:

So konvertieren Sie eine Liste in einen Vektor in R
So konvertieren Sie eine Matrix in einen Vektor in R
So konvertieren Sie eine Datenrahmenspalte in einen Vektor in R

Einen Kommentar hinzufügen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert