Як перетворити список на вектор у r (з прикладами)
Ви можете використовувати будь-який із наведених нижче методів, щоб перетворити список на вектор у R:
#use unlist() function new_vector <- unlist(my_list, use. names = FALSE ) #use flatten_*() function from purrr library new_vector <- purrr::flatten(my_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
Приклад 1: Перетворення списку на вектор за допомогою функції unlist().
Наступний код показує, як перетворити список на вектор за допомогою функції 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
Зауважте, що ви можете вказати use.names = FALSE , щоб видалити імена з вектора:
#convert list to vector new_vector <- unlist(my_list, use. names = FALSE ) #display vector new_vector [1] 1 2 3 4 5 6
Приклад 2: Перетворення списку на вектор за допомогою функції flatten_*
Наступний код показує, як перетворити список на вектор за допомогою сімейства функцій flatten_* з пакету purrr :
library (purrr) #convert list to vector new_vector <- flatten_dbl(my_list) #display vector new_vector [1] 1 2 3 4 5 6
Функція flatten_dbl() спеціально перетворює список на вектор типу double.
Зверніть увагу, що ми можемо використовувати flatten_chr() для перетворення списку символів у вектор символів:
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"
Перегляньте цю сторінку , щоб отримати повний список функцій сімейства flatten_*.
Примітка. Якщо ви працюєте з надзвичайно довгим списком, функції flatten_* працюватимуть швидше, ніж функція R base unlist().
Додаткові ресурси
Як перетворити список на кадр даних у R
Як перетворити матрицю на вектор у R
Як перетворити стовпець кадру даних у вектор у R