Een lijst converteren naar een vector in r (met voorbeelden)


U kunt een van de volgende methoden gebruiken om een lijst naar een vector in R te converteren:

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

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

De volgende voorbeelden laten zien hoe u elk van deze methoden in de praktijk kunt gebruiken met de volgende lijst:

 #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

Voorbeeld 1: converteer een lijst naar vector met behulp van de functie unlist().

De volgende code laat zien hoe u een lijst naar een vector converteert met behulp van de functie unlist() :

 #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 

Merk op dat u use.names = FALSE kunt opgeven om de namen uit de vector te verwijderen:

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

#display vector
new_vector

[1] 1 2 3 4 5 6

Voorbeeld 2: Converteer een lijst naar een vector met behulp van de functie flatten_*

De volgende code laat zien hoe je een lijst naar een vector converteert met behulp van de flatten_*-familie van functies uit het purrr- pakket:

 library (purrr)

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

#display vector
new_vector

[1] 1 2 3 4 5 6

De functie flatten_dbl() converteert de lijst specifiek naar een vector van het type double.

Merk op dat we flatten_chr() kunnen gebruiken om een lijst met tekens om te zetten in een tekenvector:

 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"

Zie deze pagina voor een volledige lijst van de flatten_* functiesfamilie.

Opmerking: als u met een extreem lange lijst werkt, werken de functies flatten_* sneller dan de functie R base unlist().

Aanvullende bronnen

Hoe een lijst naar een dataframe te converteren in R
Hoe matrix naar vector te converteren in R
Hoe dataframekolom naar vector te converteren in R

Einen Kommentar hinzufügen

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