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


Ви можете використовувати будь-який із наведених нижче методів для перетворення кадру даних на матрицю в R:

Спосіб 1: Перетворення Dataframe з числових стовпців на матрицю

 mat <- as. matrix (df)

Спосіб 2: Перетворення кадру даних із символами/факторами на матрицю

 mat <- data. matrix (df)

Зауважте, що обидва методи використовують базові функції R, тому для використання цих методів не потрібно встановлювати жодних зовнішніх пакетів.

Наступні приклади показують, як використовувати кожен метод на практиці.

Спосіб 1: Перетворення Dataframe з числових стовпців на матрицю

Припустімо, що ми маємо наступний кадр даних у R, який містить лише числові стовпці:

 #create data frame
df <- data. frame (points=c(99, 90, 86, 88, 95),
                 assists=c(33, 28, 31, 39, 34),
                 rebounds=c(30, 28, 24, 24, 28))

#view data frame
df

  points assists rebounds
1 99 33 30
2 90 28 28
3 86 31 24
4 88 39 24
5 95 34 28

Ми можемо використати функцію as.matrix() , щоб швидко перетворити цей кадр даних у числову матрицю:

 #convert data frame to matrix
mat <- as. matrix (df)

#view matrix
mast

     points assists rebounds
[1,] 99 33 30
[2,] 90 28 28
[3,] 86 31 24
[4,] 88 39 24
[5,] 95 34 28

#view class of mat
class(mat)

[1] "matrix" "array"

Використовуючи функцію class() , ми підтверджуємо, що новий об’єкт справді є матрицею.

Спосіб 2: Перетворення кадру даних із символами/факторами на матрицю

Припустімо, що ми маємо наступний кадр даних у R, який містить як символьні, так і числові стовпці:

 #create data frame
df <- data. frame (team=c('A', 'A', 'B', 'B', 'C'),
                 points=c(99, 90, 86, 88, 95),
                 assists=c(33, 28, 31, 39, 34))

#view data frame
df

  team points assists
1 A 99 33
2 A 90 28
3 B 86 31
4 B 88 39
5 C 95 34

Ми можемо використати функцію data.matrix() , щоб швидко перетворити цей кадр даних у числову матрицю:

 #convert data frame to matrix
mat <- data. matrix (df)

#view matrix
mast

     team points assists
[1,] 1 99 33
[2,] 1 90 28
[3,] 2 86 31
[4,] 2 88 39
[5,] 3 95 34

#view class of mat
class(mat)

[1] "matrix" "array"

Використовуючи функцію class() , ми підтверджуємо, що новий об’єкт справді є матрицею.

Ми також можемо ввести наступне:

 ?data.matrix

Що говорить нам:

 Description:
     Return the matrix obtained by converting all the variables in a
     data frame to numeric mode and then binding them together as the
     columns of a matrix. Factors and ordered factors are replaced by
     their internal codes.

Це пояснює, чому назви команд A, A, B, B, C були перетворені на значення 1, 1, 2, 2, 3.

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

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

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

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

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