Як використовувати функцію 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

Додати коментар

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *