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
id | time | x1 | x2 |
1 | 1 | 5 | 6 |
1 | 2 | 3 | 5 |
2 | 1 | 6 | 1 |
2 | 2 | 2 | 4 |
# example of melt function
library(reshape)
mdata <- melt(mydata, id=c("id","time"))
newdata
id | time | variable | valeur |
1 | 1 | x1 | 5 |
1 | 2 | x1 | 3 |
2 | 1 | x1 | 6 |
2 | 2 | x1 | 2 |
1 | 1 | x2 | 6 |
1 | 2 | x2 | 5 |
2 | 1 | x2 | 1 |
2 | 2 | x2 | 4 |
# cast the melted data
# cast(data, formula, function)
subjmeans <- cast(mdata, id~variable, mean)
timemeans <- cast(mdata, time~variable, mean)
sous-moyens
id | x1 | x2 |
1 | 4 | 5.5 |
2 | 4 | 2.5 |
temps de parole
time | x1 | x2 |
1 | 5.5 | 3.5 |
2 | 2.5 | 4.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.