Як перетворити фрейм даних на матрицю в 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