Come convertire una lista in un vettore in r (con esempi)
È possibile utilizzare uno dei seguenti metodi per convertire un elenco in un vettore in R:
#use unlist() function new_vector <- unlist(my_list, use. names = FALSE ) #use flatten_*() function from purrr library new_vector <- purrr::flatten(my_list)
I seguenti esempi mostrano come utilizzare nella pratica ciascuno di questi metodi con il seguente elenco:
#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
Esempio 1: convertire una lista in vettore utilizzando la funzione unlist()
Il codice seguente mostra come convertire una lista in un vettore utilizzando la funzione 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
Tieni presente che puoi specificare use.names = FALSE per rimuovere i nomi dal vettore:
#convert list to vector new_vector <- unlist(my_list, use. names = FALSE ) #display vector new_vector [1] 1 2 3 4 5 6
Esempio 2: convertire un elenco in vettore utilizzando la funzione flatten_*
Il codice seguente mostra come convertire una lista in un vettore utilizzando la famiglia di funzioni flatten_* del pacchetto purrr :
library (purrr) #convert list to vector new_vector <- flatten_dbl(my_list) #display vector new_vector [1] 1 2 3 4 5 6
La funzione flatten_dbl() converte specificamente la lista in un vettore di tipo double.
Nota che potremmo usare flatten_chr() per convertire un elenco di caratteri in un vettore di caratteri:
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"
Vedi questa pagina per un elenco completo della famiglia di funzioni flatten_*.
Nota: se stai lavorando con un elenco estremamente lungo, le funzioni flatten_* funzioneranno più velocemente della funzione unlist() di base R.
Risorse addizionali
Come convertire una lista in un frame di dati in R
Come convertire la matrice in vettore in R
Come convertire la colonna del frame di dati in un vettore in R