Como converter uma lista em um vetor em r (com exemplos)


Você pode usar qualquer um dos seguintes métodos para converter uma lista em um vetor em R:

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

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

Os exemplos a seguir mostram como usar cada um desses métodos na prática com a lista a seguir:

 #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

Exemplo 1: Converter uma lista em vetor usando a função unlist()

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: Converta uma lista em vetor usando a função flatten_*

O código a seguir mostra como converter uma lista em um vetor usando a família de funções flatten_* do pacote purrr :

 library (purrr)

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

#display vector
new_vector

[1] 1 2 3 4 5 6

A função flatten_dbl() converte especificamente a lista em um vetor do tipo double.

Observe que poderíamos usar flatten_chr() para converter uma lista de caracteres em um vetor de caracteres:

 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"

Consulte esta página para obter uma lista completa da família de funções flatten_*.

Nota: Se você estiver trabalhando com uma lista extremamente longa, as funções flatten_* funcionarão mais rápido do que a função R base unlist().

Recursos adicionais

Como converter uma lista em um quadro de dados em R
Como converter matriz em vetor em R
Como converter coluna de quadro de dados em vetor em R

Add a Comment

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