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