miércoles, 4 de septiembre de 2013

R-Project en el análisis estratégico

Usando R

Usando R

R es u software gratis diseñado para el análisis estadístico. Adicionalmente es open source, lo que significa que podemos hacer las modificaciones y adaptaciones que consideremos necesarias para desarrar aplicaciones y soluciones de acuerdo con nuestras necesidades. R es un programa ampliamente usado. Dispone de una gran cantidad de módulos, más de 2000, que nos permiten llevar a cabo una enorme variadad de análisis estadísticos descriptivo, inferencial, multivariado, así como implementar aprendizaje programado y minería de datos/texto.

R es, sin embargo, poco conocido y poco utilizado en nuestras universidades. A menudo se invierten enormes recursos económicos en la adquisición y mantenimiento de costosas licencias, a pesar que existen opciones alternativas de mucha calidad como, en este caso, R-Project. Entre algunas de las ventajas que presenta el uso de R tenemos

  • Es absolutamente gratis
  • Tiene una amplia comunidad que no sólo ayuda a aclarar dudas con respecto al uso y funcionamiento de R, sino que además ha puesto a disposición una amplia variedad de textos en diversos idiomas y activamente crea nuevos paquetes y extensiones para R. De esta manera, no existe practicamente ningún análisis estadístico que no pueda hacerse con R
  • Es un lenguaje orientado a objeto
  • Existen cientos de tutoriales en youtube, solo por citar un caso.
  • Borra la frontera entre programación y análisis, algo que en principio puede resultar intimidante, pero que posteriormente se convierte en una de las mayores ventajas al usar la herramienta.
  • La potencialidad de R es tal, que SPSS lo ha incorporado en sus últimas versiones. R, por supuesto, presenta desventajas. Dos que le encuentro es la curva de aprendizaje, lenta, si como ha sido mi caso, una persona decide iniciarse por su cuenta en el manejo del programa. Y, en segundo lugar, la demanda de memoria para los análisis, por cuanto R generalmente guarda los archivos en la cónsola. Sin embargo, las ventajas que se obtienen al usar esta herramienta son tan grandes, que las dos desventajas mencionadas pasan a un segundo plano.

En la planificación es necesario analizar data estructurada y no estructurada provenientes de la 'realidad' para presentar a los decisores posibles cursos de acciones con respecto lo que esta data nos informa. De allí que el análisis estadístico sea una parte importante de la caja de herramientas del analista estratégico. La incorporación de R-Project a esta caja de herramienta nos representa una enorme ganancia. Usemos, pues, R.

Caso práctico. Primera parte

Supongamos que se nos ha solicitado información sobre los diversos tipos de cáncer a nivel mundial, y que hemos conseguido información en el sitio de World Life Expectancy. Hemos bajado esta información y la hemos convertido en una tabla. Para subir esa información a R, dependiendo del formato, escribimos:

cancer <- read.csv("~/cancer.csv", header = T, sep = ";", na.string = "NA")

# El archivo esta almacenado en el directorio mis documentos, el directorio
# por defecto en el que R buscará los archivos, a menos que le indiquemos
# otra cosa. Por esta razón hemos hecho una referencia relativa a la
# ubicación del archivo. Si el archivo deseado estuviera en otra ubicación
# distinta, tendríamos que incluir la referencia completa sobre la ubicación
# del archivo. cancer es el nombre del archivo que subimos. Si no guardamos
# la data en esta variable, veremos el contenido, pero no podremos hacer
# ningún análisis posterior

# read.csv la data se guardó originalmente en el formato denominado Coma
# Separeted value

# la información entre paréntesis le informa a R que nuestra data está en el
# escritorio; tiene encabezado; los valores se separan con punto y coma y no
# coma y que los valores pérdidos tienen el indicativo 'NA'

Veamos los primeros seis registros de esta data:

head(cancer)
##               pais cervica colon.recto esofago higado leucemia mama oral
## 1      afghanistan     2.6         6.5     9.7    3.8      5.3 14.2  2.0
## 2          albania     1.5         7.1     2.4    6.7      5.7 18.4  4.6
## 3          algeria     3.4         8.5     0.5    1.3      2.9 16.9  3.5
## 4          andorra     0.8        14.3     2.5    4.9      3.8 15.5  2.9
## 5           angola    12.5         3.5     4.0    9.6      1.8 13.0  3.6
## 6 antigua and bar.     5.4        13.6     4.6    5.2      4.0 29.8  2.7
##   ovario pancreas pulmon vejiga gdpcapita    region
## 1    1.0      2.3    7.2    4.3       586    menaga
## 2    1.6      8.9   31.0    3.8     4.042    europe
## 3    1.7      1.3   10.6    5.0     5.523    menaga
## 4    1.9      4.6   21.6    4.2    41.517    europe
## 5    1.8      1.3    2.3    1.5     5.318       ssa
## 6    8.5      3.4    8.3    3.1    12.480 caribbean

veamos cuántas variables y cuantos casos tenemos:

dim(cancer)
## [1] 191  14

Tenemos 191 casos y 14 variables. Podemos iniciar el análisis visualizando la distribución del cancer

boxplot(cancer[, 2:12], las = 2)

plot of chunk grboxplot

Observamos que el mayor número de casos se encuentran en el cáncer de pulmón, seguido del cáncer de mama. Los casos menos frecuentes son vejiga, ovario, esófago y leucemia. En la mayoría de los casos, hay una concentración de hacia los valores bajos, y mayor dispersión hacia los valores altos, lo que puede sugerir que son pocos los países que presentan cifras altas de cáncer, si bien se observan casos atípicos en todos la mayoría de los tipos de cáncer. vamos a separar las distribuciones para observar mejor el comportamiento de cada distribución

cancer_menores_casos <- data.frame(esofago = cancer$esofago, leucemia = cancer$leucemia, 
    oral = cancer$oral, ovario = cancer$ovario, vejiga = cancer$vejiga)

cancer_mayores_casos <- data.frame(cervical = cancer$cervica, mama = cancer$mama, 
    pancreas = cancer$pancreas, pulmon = cancer$pulmon, higado = cancer$higado, 
    colon.recto = cancer$colon.recto)

Visualicemos ahora las distribuciones, separando las variables en dos grupos

boxplot(cancer_menores_casos, ylab = "Casos por cada 100 mil habitantes", las = 2)

plot of chunk unnamed-chunk-4

boxplot(cancer_mayores_casos, ylab = "Casos por cada 100 mil habitantes", las = 2)

plot of chunk unnamed-chunk-5

No hay comentarios: