Comment transposer une trame de données dans R (avec exemples)
Il existe deux méthodes courantes que vous pouvez utiliser pour transposer un bloc de données dans R :
Méthode 1 : utiliser Base R
#transpose data frame
t(df)
Méthode 2 : utiliser 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)
Les exemples suivants montrent comment utiliser chacune de ces méthodes dans la pratique.
Méthode 1 : transposer la trame de données à l’aide de Base R
Supposons que nous ayons le bloc de données suivant :
#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 A B C One 1 6 11 Two 2 7 12 Three 3 8 13 Four 4 9 14 Five 5 10 15
Nous pouvons utiliser la fonction t() de la base R pour transposer rapidement la trame de données :
#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
Les lignes et les colonnes sont désormais inversées.
Méthode 2 : transposer le bloc de données à l’aide de data.table
Supposons encore une fois que nous ayons le bloc de données suivant :
#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 A B C One 1 6 11 Two 2 7 12 Three 3 8 13 Four 4 9 14 Five 5 10 15
Nous pouvons utiliser la fonction transpose() du package data.table pour transposer rapidement le bloc de données :
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
Le résultat correspond à la trame de données transposée de l’exemple précédent.
Remarque : La méthode data.table sera beaucoup plus rapide que la base R si vous travaillez avec un bloc de données extrêmement volumineux.
Ressources additionnelles
Les didacticiels suivants expliquent comment effectuer d’autres opérations courantes sur les trames de données dans R :
Comment appliquer une fonction à chaque ligne de trame de données dans R
Comment ajouter une colonne vide à un bloc de données dans R
Comment sous-ensembler un bloc de données dans R