Come utilizzare la funzione unlist() in r (3 esempi)
È possibile utilizzare la funzione unlist() in R per convertire rapidamente una lista in un vettore.
Questa funzione utilizza la seguente sintassi di base:
unlist(x)
Oro:
- x : il nome di un oggetto R
Gli esempi seguenti mostrano come utilizzare questa funzione in diversi scenari.
Esempio 1: utilizzare unlist() per convertire una lista in un vettore
Supponiamo di avere la seguente lista in R:
#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
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: utilizzare unlist() per convertire una lista in una matrice
Il codice seguente mostra come utilizzare unlist() per convertire una lista in una matrice:
#create list my_list <- list(1:3, 4:6, 7:9, 10:12, 13: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
Il risultato è una matrice con cinque righe e tre colonne.
Esempio 3: utilizzare unlist() per ordinare i valori nell’elenco
Supponiamo di avere la seguente lista in R:
#create list
some_list <- list(c(4, 3, 7), 2, c(5, 12, 19))
#view list
some_list
[[1]]
[1] 4 3 7
[[2]]
[1] 2
[[3]]
[1] 5 12 19
Supponiamo ora di provare a ordinare i valori nell’elenco:
#attempt to sort the values in the list
sort(some_list)
Error in sort.int(x, na.last = na.last, decreasing = decreasing, ...):
'x' must be atomic
Riceviamo un errore perché l’elenco deve prima essere convertito in un vettore in modo da poter ordinare i valori.
Possiamo usare la seguente funzione unlist() per ordinare i valori:
#sort values in list
sort(unlist(some_list))
[1] 2 3 4 5 7 12 19
Tieni presente che siamo in grado di ordinare correttamente l’elenco di valori senza errori perché abbiamo prima utilizzato unlist() , che ha convertito l’elenco in un vettore numerico.
Risorse addizionali
I seguenti tutorial spiegano come eseguire altre operazioni comuni in R:
Come utilizzare la funzione length() in R
Come utilizzare la funzione cat() in R
Come utilizzare la funzione substring() in R