Accéder au contenu principal

Remodelage des données dans R

R fournit une variété de méthodes pour remodeler les données avant l'analyse.

Transposer

Utilisez la fonction t() pour transposer une matrice ou une base de données. Dans ce dernier cas, les noms de rangs deviennent des noms de variables (colonnes).

# example using built-in dataset
mtcars
t(mtcars)

L'offre de remodelage

Hadley Wickham a créé un logiciel complet appelé reshape pour masser les données. Une introduction et un article sont disponibles. Il y a même une vidéo!

En fait, vous "fondez" les données de sorte que chaque ligne soit une combinaison unique d'identifiant et de variable. Ensuite, vous "moulez" les données fondues pour leur donner la forme que vous souhaitez. Voici un exemple très simple.

mydata

    
idtimex1x2
1156
1235
2161
2224
# example of melt function
library(reshape)
mdata <- melt(mydata, id=c("id","time"))

newdata

    
idtimevariablevaleur
11x15
12x13
21x16
22x12
11x26
12x25
21x21
22x24
# cast the melted data
# cast(data, formula, function)
subjmeans <- cast(mdata, id~variable, mean)
timemeans <- cast(mdata, time~variable, mean)

sous-moyens

   
idx1x2
145.5
242.5

temps de parole

   
timex1x2
15.53.5
22.54.5

Vous pouvez faire bien d'autres choses avec les fonctions melt( ) et cast( ). Consultez la documentation pour plus de détails.

Aller plus loin

Pour vous entraîner à masser des données, essayez ce cours sur le nettoyage des données dans R.