Como usar a função unlist() em r (3 exemplos)


Você pode usar a função unlist() em R para converter rapidamente uma lista em um vetor.

Esta função usa a seguinte sintaxe básica:

 unlist(x)

Ouro:

  • x : O nome de um objeto R

Os exemplos a seguir mostram como usar essa função em diferentes cenários.

Exemplo 1: Use unlist() para converter uma lista em um vetor

Suponha que temos a seguinte lista em 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

O código a seguir mostra como converter uma lista em um vetor usando a função 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 

Observe que você pode especificar use.names = FALSE para remover os nomes do vetor:

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

#display vector
new_vector

[1] 1 2 3 4 5 6

Exemplo 2: Use unlist() para converter uma lista em uma matriz

O código a seguir mostra como usar unlist() para converter uma lista em uma matriz:

 #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

O resultado é uma matriz com cinco linhas e três colunas.

Exemplo 3: Use unlist() para classificar os valores na lista

Suponha que temos a seguinte lista em 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

Agora suponha que tentamos classificar os valores na lista:

 #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

Recebemos um erro porque a lista deve primeiro ser convertida em um vetor para que possamos classificar os valores.

Podemos usar a seguinte função unlist() para classificar os valores:

 #sort values in list
sort(unlist(some_list))

[1] 2 3 4 5 7 12 19

Observe que podemos classificar a lista de valores com êxito e sem erros porque primeiro usamos unlist() , que converteu a lista em um vetor numérico.

Recursos adicionais

Os tutoriais a seguir explicam como realizar outras operações comuns em R:

Como usar a função length() em R
Como usar a função cat() em R
Como usar a função substring() em R

Add a Comment

O seu endereço de email não será publicado. Campos obrigatórios marcados com *