R proporciona diversos métodos para remodelar los datos antes del análisis.
Transponer
Utiliza la función t() para transponer una matriz o un marco de datos. En este último caso, los rownames se convierten en nombres de variables (columnas).
Hadley Wickham ha creado un completo paquete llamado reshape para masajear datos. Tanto la introducción como el artículo están disponibles. ¡Incluso hay un vídeo!
Básicamente, "fundes" los datos para que cada fila sea una combinación id-variable única. A continuación, "moldea" los datos fundidos en la forma que desees. He aquí un ejemplo muy sencillo.
mydata
id
tiempo
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"))Con la tecnología de
newdata
id
tiempo
variable
value
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)Con la tecnología de
subjmeans
id
x1
x2
1
4
5.5
2
4
2.5
timemeans
tiempo
x1
x2
1
5.5
3.5
2
2.5
4.5
Hay mucho más que puedes hacer con las funciones fundir( ) y fundir( ). Consulta la documentación para más detalles.
R proporciona diversos métodos para remodelar los datos antes del análisis.
Transponer
Utiliza la función t() para transponer una matriz o un marco de datos. En este último caso, los rownames se convierten en nombres de variables (columnas).
El Paquete Remodelar
Hadley Wickham ha creado un completo paquete llamado reshape para masajear datos. Tanto la introducción como el artículo están disponibles. ¡Incluso hay un vídeo!
Básicamente, "fundes" los datos para que cada fila sea una combinación id-variable única. A continuación, "moldea" los datos fundidos en la forma que desees. He aquí un ejemplo muy sencillo.
mydata
newdata
subjmeans
timemeans
Hay mucho más que puedes hacer con las funciones fundir( ) y fundir( ). Consulta la documentación para más detalles.
Ir más lejos
Para practicar el masaje de datos, prueba este curso de limpieza de datos en R.