Как преобразовать список в вектор в 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 unlist().

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

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

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *