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