Як перетворити список на вектор у 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

Додати коментар

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *