r introducción

25
Alan Navarro El Colegio de Sonora ¿Por qué usar R y no otro? Perspectiva desde la opinión de un usuario asiduo

Upload: alan-navarro

Post on 09-Feb-2017

574 views

Category:

Data & Analytics


0 download

TRANSCRIPT

Alan NavarroEl Colegio de Sonora

¿Por qué usar R y no otro? Perspectiva desde la opinión de un usuario asiduo

OBJETIVO

• El objetivo de está presentación no es desarrollar un tutorial acerca de cómo empezar a usar R, más bien tratar de convencer al interesado de que invertir tiempo en desarrollar habilidades y competencias en el software es una buena inversión.

¿QUE ES “R”?• R es un sistema para análisis estadísticos y gráficos

creado por Ross Ihaka y Robert Gentle-man 1996 (de ahí en nombre de “R”).

• R se distribuye gratuitamente bajo los términos de la GNU General Public Licence; su desarrollo y distribución son llevados a cabo por varios estadísticos conocidos como el Grupo Nuclear de Desarrollo de R (Paradis 2002).

VENTAJAS• Es gratuito y esta disponible en Internet para todos.

• Es un programa multidisciplinario, que crece con las aportaciones de investigadores alrededor del mundo.

• Corre en prácticamente todos los sistemas operativos.

• Se apoya en una vasta cantidad de documentos técnicos, tutoriales y documentos científicos disponibles en Internet. Así como libros especializados.

• Puedes importar/exportar bases de datos de casi cualquier tipo.

• Estimula el pensamiento critico en la solución de problemas.

VENTAJAS (CONT…)• Existe una gran cantidad de gráficos que se pueden realizar en R,

busca en Facebook esta página “R Graph Gallery”. Para un ejemplo.

• Una calidad excelente en gráficas (puedes generar imágenes vectoriales de tus gráficas, evitando la distorsión, efecto “pixeleado”).

• El poder programar.  "Hazlo solo una vez..." quizá la fortaleza mas importante sobre usuarios normales de Excel (los no-normales en Excel son aquellos que programan dentro de Excel y se vuelven muy eficientes).

LO MÁS INTERESANTE DE R…

• Es precisamente su carácter libre lo que permite que la comunidad haya aportado hasta hoy (Septiembre 2015) 7,183 paquetes que incrementan las funcionalidades de R, añaden nuevas librerías y funciones o resuelven problemas específicos.

• Es decir, R ofrece soluciones metodológicas para múltiples disciplinas. Investigadores y programadores alrededor del mundo incorporan paquetes, detrás de los cuales están teorías y publicaciones científicas.

PAQUETES

Año 2005 2006 2007 2008 2009 2010 2011 2012 2013 2014 2015

# 1 4 2 10 35 49 101 669 1,071 1,886 3,355

DESVENTAJAS• No tiene interface gráfica (“botones”), se deben de escribir los comandos y funciones;

adicionalmente, el programa es muy sensitivo a errores de sintaxis. Usuarios de MATLAB, STATA y SAS puede que estén mas familiarizados con el uso de line de comandos.

• Se requiere de un buen nivel de Inglés técnico, ya que la gran mayoría de foros, tutoriales y publicaciones están en este idioma.

• El usuario debe de entender muy bien la herramienta estadística y metodológica que pretende aplicar en R.

• En ocasiones es un poco lento en comparación con otros programas.

• El usuario tiene que hacer la abstracción de que es un programa orientado a objetos. Debe de pensar en una “tabla”, “matriz”, “vector”, “variable”, etc. como objetos con los que se trabaja.

• La curva de aprendizaje es más larga que con una interfaz gráfica de usuario.

R ES UN LENGUAJE ORIENTADO A OBJETOS

• Un objeto es una abstracción definida por el usuario o el programador. Por ejemplo, una función como “sqrt ( )”.

• Un conjunto de variables o datos. Estos pueden estar contenidos en “tablas”, “vectores”, “matrices”, “listas”, etc.

• Cuando el usuario trabaja en R, este crea y borra constantemente objetos. Asimismo, trabaja con funciones que aplican solo a ciertos objetos. Por ejemplo “t ( )” o la función para trasponer una matriz, requiere de un objeto de la clase “matriz” para funcionar.

• En la siguiente diapositiva se muestra R Studio, que no es más una interface que hace más manejable el programa, lo mejor es que posee un editor de texto, donde escribes las funciones y comandos, que, una vez listos los envías a la consola de R (cuadrante izquierda abajo).

• Posee también una sección donde se indican los objetos que están cargados el la sesión. Estos objetos se pierden al cerrar el programa.

• El cuadrante de la parte de abajo en la derecha es donde aparecen las gráficas.

• R Studio también facilita algunas tareas tales como: instalar los paquetes, limpiar la consola, etc.

• Lo importante, es no olvidar que al final, todo se hace en R.

EDITOR DE TEXTO

CONSOLA CON RESULTADOS

DE LOS COMANDOS EJECUTADOS

AMBIENTE

GRAFICOS

En este ejemplo, creo algunos objetos: “FakeCensus”, “idx”, “FakeCensus_M”, “a”. Si ponemos atención, la gráfica es un output, es decir, una imagen, pero también la podemos convertir en objeto. Los nombres que se asignan a los objetos son a gusto del analista (siempre y cuando no usen el nombre de alguna función ya existente). El contenido del objeto “a” que es el histograma, se puede ver en la consola.

• El hecho de que un “output” se convierta en un objeto, con elementos indexados; hace que, ese output pueda ser el input para otro análisis.

• Por ejemplo, los resultados de un análisis de regresión lineal, no son algo inerte, pueden a su vez ser un input para otro análisis. En la mayoría de los paquetes computacionales estadísticos, los outputs no son más que una gráfica, una hoja para imprimir, caracteres inertes.

REs un programa “vivo” esto es, “as we speak” hay muchos desarrolladores, científicos, estadísticos, freelancers, etc. escribiendo nuevas funciones y combinando las ya existentes; imagínate, las posibilidades son infinitas. La gráfica de la derecha muestra los paquetes como nodos, dos nodos están enlazados si los paquetes son dependientes. CRAN y BioConductor son dos repositorios de paquetes de R. Las redes muestran una idea de la colaboración directa e indirecta que crea R alrededor del mundo.

Tomada de: http://blog.revolutionanalytics.com/2015/08/differences-in-the-network-structure-of-cran-and-bioconductor.htmlAndrie de Vries 2015

EJEMPLOEl polígono representa un predio. Las líneas son el “track” del GPS. Los números en círculo, puntos de muestreo. Se tomaron muestras de suelo. Se determino, en el laboratorio del Departamento de Agricultura y Ganadería de la Universidad de Sonora, las tres clases texturales: arena, limo y arcilla. El equipo de trabajo quisimos buscar una forma practica de presentar la información de texturas.

Buscaba una forma adecuada parapresentar estos datos de textura delsuelo.

Bueno, alguien antes que nosotros, ya tuvo ese problema y lo resolvió usando R. Y gracias a su altruismo (o quizás su deseo de “fama y prestigio” “de toute façon nous sommes reconnaissants”) lo puso a disposición de todos nosotros. Se pone a nuestra disposición a través de su mail: [email protected] el programa se llama “soiltexture” y en este sitio: http://cran.r-project.org/web/packages/soiltexture/vignettes/soiltexture_vignette.pdf ofrece una amplia explicación de las capacidades del software.

OFRECE LA POSIBILIDAD DE COMBINAR MUCHOS TIPOS DE BASES DE DATOS,

POR EJEMPLO: DATOS GEOREFERENCIADOS

library (maptools)

library (plotrix)

Muy útil para trabajar series de tiempo, abajo la gráficamuestra las lecturas a cada 10 minutos de temperatura en

una estación automatizada ubicada en la Costa de Hermosillo

CONCLUSION• R es un programa que demanda tiempo, pero su inversión bien

vale la pena.

• Las posibilidades son infinitas y sigue creciendo, cada vez se relaciona con otras plataformas como Google Earth, Netlogo, etc.

• Atiende problemática específica. La mayoría de los científicos proveen el artículo científico y las bases de datos con las que puedes repetir el análisis.

• Usar R estimula la creatividad y la capacidad analítica del usuario.

REFERENCIAS• Ihaka R. & Gentleman R. 1996. R: a language for data analysis and graphics. Journal of Computational

and Graphical Statistics 5: 299–314

• Nicholas J. Lewin-Koh and Roger Bivand, contributions by Edzer J. Pebesma, Eric Archer, Adrian Baddeley, Hans-Jörg Bibiko, Jonathan Callahan, Stéphane Dray, David Forrest, Michael Friendly, Patrick Giraudoux, Duncan Golicher, Virgilio Gómez Rubio, Patrick Hausmann, Karl Ove Hufthammer, Thomas Jagger, Sebastian P. Luque, Don MacQueen, Andrew Niccolai, Tom Short, Greg Snow, Ben Stabler and Rolf Turner (2011). Maptools:Tools for reading and handling spatial objects. R package version 0.8-10. http://CRAN.R-project.org/package=maptools

• Paradis, E. (2002) R para principiantes. Traducido por: Jorge A. Ahumada. Documento disponible on-line: http://cran.r-project.org/doc/contrib/rdebuts_es.pdf

• R Development Core Team (2011). R: A language and environment fo statistical computing. R Foundation for Statistical Computing,Vienna, Austria. ISBN 3-900051-07-0, URL http://www.R-project.org/