miércoles, 1 de abril de 2015

Tabla dinámicas en R como Excel

Una herramienta práctica para realizar conteos o tablas de contingencia son las tablas dinámicas. Algunos programas de hojas de calculo permiten realizar tablas dinámicas de forma interactiva.
Ahora lo interesante es que con R también se puede realizar esto. El paquete rpivotTable, permite realizar tablas dinámicas como Excel.

Ejemplo 1

Para ello utilizaremos la siguiente base como ejemplo
> genes = paste('MMP', sprintf("%04d",1:10), sep="")
> data = expand.grid(gene=genes, condition=c('copper', 'cheetos', 'beer', 'pizza'))
> data$value = rnorm(40)
> head(data)
     gene condition      value
1 MMP0001    copper  1.6562436
2 MMP0002    copper  0.1809676
3 MMP0003    copper -1.1397017
4 MMP0004    copper  0.7807000
5 MMP0005    copper -0.9886788
6 MMP0006    copper -0.8915092
Ahora, mediante las siguientes lineas, construimos y utilizamos el paquete en mención
install.packages("devtools")
library(devtools)
install_github("ramnathv/htmlwidgets")
install_github("smartinsightsfromdata/rpivotTable")
## Load rpivotTable
library(rpivotTable)
Ahora construimos la tabla dinámica de la siguiente manera

rpivotTable(data, rows="gene", col="condition", aggregatorName="Average", vals="value")
El resultado

Ejemplo 2

Utilizando la base de mtcars, miremos cual es el promedio de millas por galón (mpg) según el número de cambios (gear) y el número de cilindros (cyl)
data(mtcars)
## One line to create pivot table
rpivotTable(mtcars, rows="gear", col="cyl", aggregatorName="Average", vals="mpg")
El resultado

Ahora utilizando la tabla contemos cuantos carros según le número de cambios y el número de cilindros tiene la base

Miremos el resultado anterior gráficamente

Por último, un ejemplo de las diferentes aplicaciones al estilo Nicolas Kruchten

jueves, 28 de agosto de 2014

Prueba