Как использовать функцию 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

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

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