Як перетворити таблицю на матрицю в r (з прикладом)


Щоб перетворити таблицю на матрицю в R, можна використати такий базовий синтаксис:

 my_matrix <- matrix(my_table, ncol=ncol(my_table), dimnames=dimnames(my_table))

У наступному прикладі показано, як використовувати цей синтаксис на практиці.

Приклад: перетворення масиву на матрицю в R

Спочатку давайте створимо наступний кадр даних у R, який показує команду та позицію різних баскетболістів:

 #create data frame
df <- data. frame (team=c('A', 'A', 'A', 'A', 'B', 'B', 'B', 'B'),
                 position=c('G', 'G', 'F', 'C', 'G', 'F', 'C', 'C'))

#view data frame
df

  team position
1 AG
2 AG
3 AF
4 AC
5 BG
6 BF
7 BC
8 BC

Далі створимо таблицю, яка відображає частоту кожної команди та комбінації позицій :

 #create frequency table of values for team and position
my_table <- table(df$team, df$position)

#view table
my_table

    CFG
  A 1 1 2
  B 2 1 1

Ми можемо використати функцію class() , щоб підтвердити, що об’єкт my_table справді є таблицею:

 #display class of my_table
class(my_table)

[1] “table”

Тоді ми можемо використати такий синтаксис, щоб перетворити масив на матрицю:

 #convert table to matrix
my_matrix <- matrix(my_table, ncol=ncol(my_table), dimnames=dimnames(my_table))

#view matrix
my_matrix

    CFG
  A 1 1 2
  B 2 1 1

І ми можемо використовувати функцію class() , щоб підтвердити, що об’єкт під назвою my_matrix справді є матрицею:

 #display class of my_matrix
class(my_matrix)

[1] "matrix" "array"

Примітка №1 : аргумент ncol гарантує, що кількість стовпців у матриці відповідає кількості стовпців у таблиці.

Примітка №2 : аргумент dimnames гарантує, що імена рядків і стовпців збігаються з іменами в таблиці.

Додаткові ресурси

У наступних посібниках пояснюється, як виконувати інші типові операції в R:

Як перетворити таблицю на кадр даних у R
Як перетворити матрицю на вектор у R
Як перетворити список на матрицю в R
Як перетворити стовпець кадру даних у вектор у R

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

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