Come convertire un frame di dati in una matrice in r (con esempi)
È possibile utilizzare uno dei seguenti metodi per convertire un frame di dati in una matrice in R:
Metodo 1: convertire Dataframe da colonne numeriche a matrice
mat <- as. matrix (df)
Metodo 2: convertire il frame di dati con caratteri/fattori in matrice
mat <- data. matrix (df)
Tieni presente che entrambi i metodi usano funzioni R di base, quindi non è necessario installare pacchetti esterni per usare questi metodi.
Gli esempi seguenti mostrano come utilizzare ciascun metodo nella pratica.
Metodo 1: convertire Dataframe da colonne numeriche a matrice
Supponiamo di avere il seguente frame di dati in R che contiene solo colonne numeriche:
#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
Possiamo usare la funzione as.matrix() per convertire rapidamente questo frame di dati in una matrice numerica:
#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"
Utilizzando la funzione class() , confermiamo che il nuovo oggetto è effettivamente una matrice.
Metodo 2: convertire il frame di dati con caratteri/fattori in matrice
Supponiamo di avere il seguente frame di dati in R che contiene sia colonne di caratteri che colonne numeriche:
#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
Possiamo usare la funzione data.matrix() per convertire rapidamente questo frame di dati in una matrice numerica:
#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"
Utilizzando la funzione class() , confermiamo che il nuovo oggetto è effettivamente una matrice.
Possiamo anche digitare quanto segue:
?data.matrix
Il che ci dice:
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.
Questo spiega perché i nomi delle squadre A, A, B, B, C sono stati convertiti nei valori 1, 1, 2, 2, 3.
Risorse addizionali
I seguenti tutorial spiegano come eseguire altre operazioni comuni in R:
Come convertire la colonna del frame di dati in un vettore in R
Come convertire la matrice in vettore in R
Come convertire una tabella in un frame di dati in R