Come trasporre un frame di dati in r (con esempi)


Esistono due metodi comuni che è possibile utilizzare per trasporre un frame di dati in R:

Metodo 1: utilizzare Base R

 #transpose data frame
t(df)

Metodo 2: utilizzare data.table

 library (data.table)

#transpose data frame
df_t <- transpose(df)

#redefine row and column names
rownames(df_t) <- colnames(df)
colnames(df_t) <- rownames(df)

Gli esempi seguenti mostrano come utilizzare nella pratica ciascuno di questi metodi.

Metodo 1: trasporre il frame di dati utilizzando la base R

Supponiamo di avere il seguente frame di dati:

 #create data frame
df <- data. frame (A = c(1, 2, 3, 4, 5),
                 B = c(6, 7, 8, 9, 10),
                 C = c(11, 12, 13, 14, 15))

#define row names
row. names (df) <- c('One', 'Two', 'Three', 'Four', 'Five')

#view data frame
df

      ABC
One 1 6 11
Two 2 7 12
Three 3 8 13
Oven 4 9 14
Five 5 10 15

Possiamo usare la funzione R base t() per trasporre rapidamente il frame di dati:

 #transpose data frame
t(df)

  One Two Three Four Five
A 1 2 3 4 5
B 6 7 8 9 10
C 11 12 13 14 15

Le righe e le colonne sono ora invertite.

Metodo 2: trasporre il frame di dati utilizzando data.table

Supponiamo ancora una volta di avere il seguente frame di dati:

 #create data frame
df <- data. frame (A = c(1, 2, 3, 4, 5),
                 B = c(6, 7, 8, 9, 10),
                 C = c(11, 12, 13, 14, 15))

#define row names
row. names (df) <- c('One', 'Two', 'Three', 'Four', 'Five')

#view data frame
df

      ABC
One 1 6 11
Two 2 7 12
Three 3 8 13
Oven 4 9 14
Five 5 10 15

Possiamo usare la funzione transpose() del pacchetto data.table per trasporre rapidamente il frame di dati:

 library (data.table)

#transpose data frame
df_t <- transpose(df)

#redefine row and column names
rownames(df_t) <- colnames(df)
colnames(df_t) <- rownames(df)

#display transposed data frame
df_t

  One Two Three Four Five
A 1 2 3 4 5
B 6 7 8 9 10
C 11 12 13 14 15

Il risultato è il frame di dati trasposto dell’esempio precedente.

Nota : il metodo data.table sarà molto più veloce di R di base se lavori con un frame di dati estremamente grande.

Risorse addizionali

I seguenti tutorial spiegano come eseguire altre operazioni comuni sui frame di dati in R:

Come applicare una funzione a ciascuna riga di frame di dati in R
Come aggiungere una colonna vuota a un frame di dati in R
Come sottoimpostare un frame di dati in R

Aggiungi un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *