Как преобразовать список в вектор в 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_* будут выполняться быстрее, чем функция unlist() из базы R.

Дополнительные ресурсы

Как преобразовать список во фрейм данных в R
Как преобразовать матрицу в вектор в R
Как преобразовать столбец фрейма данных в вектор в R

Замечательно! Вы успешно подписались.
Добро пожаловать обратно! Вы успешно вошли
Вы успешно подписались на кодкамп.
Срок действия вашей ссылки истек.
Ура! Проверьте свою электронную почту на наличие волшебной ссылки для входа.
Успех! Ваша платежная информация обновлена.
Ваша платежная информация не была обновлена.