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

Aggiungi un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *