So konvertieren sie eine liste in einen vektor in r (mit beispielen)


Sie können eine der folgenden Methoden verwenden, um eine Liste in einen Vektor in R zu konvertieren:

 #use unlist() function
new_vector <- unlist(my_list, use. names = FALSE )

#use flatten_*() function from purrr library
new_vector <- purrr::flatten(my_list)

Die folgenden Beispiele zeigen anhand der folgenden Liste, wie jede dieser Methoden in der Praxis eingesetzt werden kann:

 #create list
my_list <- list(A = c(1, 2, 3),
                B = c(4, 5),
                C = 6)

#display list
my_list

$A
[1] 1 2 3

$B
[1] 4 5

$C
[1] 6

Beispiel 1: Konvertieren Sie eine Liste in einen Vektor mithilfe der Funktion unlist()

Der folgende Code zeigt, wie man mit der Funktion unlist() eine Liste in einen Vektor umwandelt:

 #convert list to vector
new_vector <- unlist(my_list)

#display vector
new_vector

A1 A2 A3 B1 B2 C 
 1 2 3 4 5 6 

Beachten Sie, dass Sie use.names = FALSE angeben können, um die Namen aus dem Vektor zu entfernen:

 #convert list to vector
new_vector <- unlist(my_list, use. names = FALSE )

#display vector
new_vector

[1] 1 2 3 4 5 6

Beispiel 2: Konvertieren Sie eine Liste mit der Funktion flatten_* in einen Vektor

Der folgende Code zeigt, wie eine Liste mithilfe der flatten_*-Funktionsfamilie aus dem purrr- Paket in einen Vektor konvertiert wird:

 library (purrr)

#convert list to vector
new_vector <- flatten_dbl(my_list)

#display vector
new_vector

[1] 1 2 3 4 5 6

Die Funktion flatten_dbl() wandelt die Liste gezielt in einen Vektor vom Typ double um.

Beachten Sie, dass wir flatten_chr() verwenden könnten, um eine Liste von Zeichen in einen Zeichenvektor umzuwandeln:

 library (purrr) 

#define character list
my_char_list <- list(A = c('a', 'b', 'c'),
                     B = c('d', 'e'),
                     C = 'f')

#convert character list to character vector
new_char_vector <- flatten_chr(my_char_list)

#display vector
new_char_vector

[1] "a" "b" "c" "d" "e" "f"

Auf dieser Seite finden Sie eine vollständige Liste der flatten_*-Funktionsfamilie.

Hinweis: Wenn Sie mit einer extrem langen Liste arbeiten, arbeiten die flatten_*-Funktionen schneller als die R-basierte Funktion unlist().

Zusätzliche Ressourcen

So konvertieren Sie eine Liste in einen Datenrahmen 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