Jak przekonwertować listę na wektor w r (z przykładami)
Możesz użyć dowolnej z poniższych metod, aby przekonwertować listę na wektor w R:
#use unlist() function new_vector <- unlist(my_list, use. names = FALSE ) #use flatten_*() function from purrr library new_vector <- purrr::flatten(my_list)
Poniższe przykłady pokazują, jak zastosować każdą z tych metod w praktyce, wraz z poniższą listą:
#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
Przykład 1: Konwersja listy na wektor za pomocą funkcji unlist().
Poniższy kod pokazuje, jak przekonwertować listę na wektor za pomocą funkcji 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
Pamiętaj, że możesz podać use.names = FALSE , aby usunąć nazwy z wektora:
#convert list to vector new_vector <- unlist(my_list, use. names = FALSE ) #display vector new_vector [1] 1 2 3 4 5 6
Przykład 2: Konwertuj listę na wektor za pomocą funkcji flatten_*
Poniższy kod pokazuje, jak przekonwertować listę na wektor przy użyciu rodziny funkcji flatten_* z pakietu purrr :
library (purrr) #convert list to vector new_vector <- flatten_dbl(my_list) #display vector new_vector [1] 1 2 3 4 5 6
Funkcja flatten_dbl() w szczególności konwertuje listę na wektor typu double.
Zauważ, że moglibyśmy użyć flatten_chr() do przekształcenia listy znaków w wektor znakowy:
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"
Na tej stronie znajduje się pełna lista funkcji flatten_*.
Uwaga: Jeśli pracujesz z wyjątkowo długą listą, funkcje flatten_* będą działać szybciej niż podstawowa funkcja R unlist().
Dodatkowe zasoby
Jak przekonwertować listę na ramkę danych w R
Jak przekonwertować macierz na wektor w R
Jak przekonwertować kolumnę ramki danych na wektor w R