Как использовать функцию unlist() в R (3 примера)


Вы можете использовать функцию unlist() в R, чтобы быстро преобразовать список в вектор.

Эта функция использует следующий базовый синтаксис:

unlist(x)

куда:

  • x : имя объекта R

В следующих примерах показано, как использовать эту функцию в различных сценариях.

Пример 1: Используйте unlist() для преобразования списка в вектор

Предположим, у нас есть следующий список в R:

#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

В следующем коде показано, как преобразовать список в вектор с помощью функции 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: Используйте unlist() для преобразования списка в матрицу

В следующем коде показано, как использовать unlist() для преобразования списка в матрицу:

#create list
my_list <- list(1:3, 4:6, 7:9, 10:12, 13:15)

#convert list to matrix
matrix(unlist(my_list), ncol= 3 , byrow= TRUE )

 [,1] [,2] [,3]
[1,] 1 2 3
[2,] 4 5 6
[3,] 7 8 9
[4,] 10 11 12
[5,] 13 14 15

В результате получается матрица с пятью строками и тремя столбцами.

Пример 3: Используйте unlist() для сортировки значений в списке

Предположим, у нас есть следующий список в R:

#create list
some_list <- list(c(4, 3, 7), 2, c(5, 12, 19)) 

#view list
some_list

[[1]]
[1] 4 3 7

[[2]]
[1] 2

[[3]]
[1] 5 12 19

Теперь предположим, что мы пытаемся отсортировать значения в списке:

#attempt to sort the values in the list
sort(some_list)

Error in sort.int(x, na.last = na.last, decreasing = decreasing, ...) : 
 'x' must be atomic

Мы получаем ошибку, потому что список должен быть сначала преобразован в вектор, чтобы мы могли отсортировать значения.

Мы можем использовать следующую функцию unlist() для сортировки значений:

#sort values in list
sort(unlist(some_list))

[1] 2 3 4 5 7 12 19

Обратите внимание, что мы можем успешно отсортировать список значений без каких-либо ошибок, потому что мы сначала использовали unlist() , который преобразовал список в числовой вектор.

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

В следующих руководствах объясняется, как выполнять другие распространенные операции в R:

Как использовать функцию length() в R
Как использовать функцию cat() в R
Как использовать функцию substring() в R

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