En la red hay de todo y más. Podrías aprender lo que quieras formándote DIY. También podrías aprender a ser un data scientist y manejar R sólo con recursos de internet. Pero te digo yo que te vas a perder en el infinito de la nube y te vas a sentir desbordado por tanta información y el tiempo es importante para ti.
Sé que no sabes por dónde empezar ni sabes que recursos son los mejores para aprender. No te preocupes. Te hago de guía. Te muestro los mejores recursos y un camino ordenado y sin agobios.
¿Quieres convertirte en un data scientist en R? Te propongo un camino. ¡Al ataque!
# Paso 0 – ¿Por qué usar R?
Antes de empezar este camino es mejor convencerte de R y sus posibilidades. Te listo algunas razones a ver si te conevnces:
- R es el motor que hay detrás de softwares como SPSS, STATA o SAS.
- El uso de R está creciendo en las empresas y es ampliamente usado en investigación por ser open source.
- La comunidad de R está creciendo muchísimo y es colaborativa. Tienes un montón de recursos en internet como verás en este página 😛
- Es realmente bueno creando gráficos aunque al principio no lo parezca
- Es flexible y extensible debido a la existencia de paquetes creados por expertos de la comunidad R
- Tiene interfaces que ayudan a que la usabilidad sea agradable: RStudio, R-Comander.
# Paso 1 – Prepara tu máquina R
Prepara tu herramienta principal: tu PC con R ¿Qué necesitas? Sólo instalarte dos cositas:
- R será el corazón de tu computadora. Para instalarlo solo tienes que descargarte el archivo correspondiente de instalación en R-Cran, la página del proyecto R
- RStudio es la user interface por excelencia. Sin ella estarás jodido. Puedes ir a la web de RStudio y descargarte el software. Mira este vídeo para entender la user interface de RStudio.
Si quieres una GUI para usar R a un nivel básico puedes utilizar R-Commander. Es una user interface que es bastante interesante e intuitiva para trabajar con análisis estadísticos sencillos. Es parecido a SPSS. Es suficiente para la mayoría de estudios estadísticos.
Si quieres utilizar R a un nivel medio-alto no te recomiendo R-Commander. Si creas metodologías más complejas es interesante usar la creación de código.
También existe otro tipo de GUI alternativa llamada Architech.
# Paso 2 – Entiende lo básico del lenguaje R
Para usar R es fundamental entender el lenguaje y saber programar. Por ello te recomiendo que empieces por hacer un minicurso para aprender lo básico del lenguaje mientras vas practicando.
En Datacamp los cursos de R son prácticos y enseguida cojes la dinámica de la programación.
Es aconsejable si quieres algo más completo hacer el curso de Coursera de introducció al lenguaje R. Es muy completo y te va ayudar a entender el tipo de variables y las peculariedades del lenguaje.
Debes tener claro desde ya que tendrás que picar 😛 (…programar) . A larga no te podrás escapar. A parte de saber el lenguaje es muy importante tener unos fundamentos mínimos de informática. Saber estructurar tu código es fundamental.
También tienes recursos en formato pdf a tu disposición:
- El tutorial y manual oficial de R: introducción de R y el manual en la web del proyecto CRAN
- Quick-R
# Paso 3 – La comunidad R y su gran potencial
Uno de los puntos fuertes de R es el ambiente colaborativo. Las capacidades de R no tienen límite gracias a los paquetes de funciones que los mismos usarios vamos creando. Los «packages» son extensiones del programa base. Puedes ver una lista de los paquetes de funciones oficiales del proyecto CRAN. Aprende a instalar los paquetes es este vídeo.
Puedes encontrar los paquetes en RCran, en Github y Bitbucket. Busca todos los paquetes en la páquina RDocumentation. Si eres del mundo bio la página de bioconductor te va a gustar.
Un poco más del maravilloso universo R. Entender la comunidad de R y cúales son las páginas web de referencia y de consulta te va a venir muy bien. R es un software colaborativo con muchos usuarios y puede ser interesante para ti saber dónde encontrar información.
Te aconsejo estos links de búsqueda de información de R.
- El gran foro stackoverflow. Hay de todo y es una pasada.
- R-bloggers es una web muy interesante. Es un directorio de bloggers que postean artículos interesantes de R. Creo que voy a postear algún día 😉
- Github es una mina de scripts donde muchos usuarios alojan sus códigos. Puedes desargarte los códigos y adaptarlos a tu gusto.
- Rseek un foro interesante de consulta.
- RDocumentation y R-Pkg otra web de consulta de packages.
# Paso 4 – Distintos caminos para importar datos
Siempre he usado datos ASCII, datos de Matlab o archivos de excel como datos de entrada pero hay muchas maneras de importar datos. Buscando por la nube he encontrado paquetes interesantes para importar datos y analizarlos. Let’s see them:
- XLConnect, xlsx Estos paquetes te sireven para comunicarse con Excel
- Paquetes para importar base da datos: RODBC, RMySQL, RPostgresSQL, RSQLite
- Para importar datos de matlab usa RMatlab
- Importa datos siguiendo este tutorial maravilloso de DataCamp
- ¿Tus datos provienen de SAS o SPSS? Don’t worry, aqui tienes el paquete 😉 foreign
- Funciones como read.csv, read.table, and read.fwf seran interesantes para leer datos en formato ASCII. Para datos algo diferentes a los ASCII consulta a la Guía CRAN
Una vez tengas los datos cargados en R ya puedes empezar a analizarlos. Algunos de los paquetes más famosos para manipular datos que no pueden faltar en tu máquina R son estos:
- Paquete esencial dplyr para manipular los datos fácilmente.
- Herramientas tidyr para convertir tu estructura de datos en tabla de datos o tidy. Podrás aplicar la estadística fácilmente.
- Cuando los datos son caracteres no dudes en consultar el paquete stringr
- Paquete para datos de series temporales y fechas: lubridate
# Paso 5 – El core de un data scientist: la estadística aplicada – Data Mining y Machine Learning
Una vez has leído los datos ¿qué pasa? Toca transformar los datos para sacar las mejores conclusiones. Usa conocimientos para tratar los datos de manera efectiva.
Si necesitas asentar conceptos de estadística y mates para entender disciplinas como data mining y machine learning te recomiendo que empieces con cursos de estadística aplicada a R.
- Tutoriales gratuitos de la web guru99. Este recopilatorio de tutoriales es realmente muy bueno
- Andrew Conway’s Introduction to statistics with R (online)
- Data Analysis and Statistical Inference de la universidad de Duke (online)
- Mira los cursos de Udacity que son una pasada
- El programa Analiza tus Datos que te ayudará a aprender y aplicar la estadística de forma práctica y con conceptos claros: el programa Analiza tus Datos.
Con bases asentadas puedes seguir formándote con estos recursos en el mundo del data mining:
- Practical Data Science With R (libro)
- Data Science Specialization by Johns Hopkins (online)
- A Survival Guide to Data Science with R (libro)
- Libro online gratuito de análisis multivariable (libro online)
Tranquilo no te agobies en un futuro te voy a preparar material de consulta y de formación para que aprendas rápido y bien. Sin necesidad de hacer todos los cursos y leer todos los libros 😉
Si quieres recursos en relación al machine learning te dejo unos cuantos interesantes:
- Essentials of Machine Learning Algorithms
- Bike Sharing Competition – Complete Solution in R. Es un post con una aplicación real. Está todo el código a tu disposición y lo puedes reproducir.
- Kaggle Machine Learning course. Otros curso de datacamp super interesante
- Curso de Machine Learning de Coursera de la Universidad de Stanford
- Intro To Machine Learning. Tutorial de Machine Learning en el blog de DataCamp
NOTA: estos recursos no los he leído todos ni mucho menos pero he visto en la red que son bastante famosillos. Gracias a la web de data analytics de Vidhya he podido encontrar un montón de recursos
# Paso 6 – Plotea tus datos de manera elegante
R es un gran software SUPER INTERESANTE para graficar datos aunque de primeras no lo parezca. Te voy a recomandar los paquetes más famosos para plotear como un auténtico crack:
- ggplot2: es el paquete más potente para pintar graficos sexys. Molan mucho las virguerías que puedes hacer con este paquete. Pero como todo lo bueno cuesta de aprender aqui tienes un curso de ggplot2 de la universidad de Hardvard.
- plotly: si eres un fanático de los gráficos interactivos (como yo) usa este paquete. Es una pasada. Podrás hacer gráficos espectaculares y tiene una web muy interesante. Échale un vistazo porque vale la pena este paquete. Si tienes web y publicas resultados no dudes en utilizar plotly. Extensión de plotly para presentaciones power point 😉
- R-shiny: para mi es super, super interesante. Puedes crear mini-aplicaciones web para ver como varían los resultados según vas cambiando determinados parámetros. Esta es la web dónde puedes aprender. Hay un montón de materiales extras y aplicaciones free.
Plotear en R
La primera opción es dibujar con el paquete de base de R. Los gráficos no son demasiado buenos. Hay paquetes muchos mejores. Mi recomendación es que trabajes con ggplot2. Pudes aprender rápidamente con este tutorial de ggplot2.
Plotear gráficos interactivos
R es una herramienta brutal para crear gráficos interactivos. Aquí los enlaces más interesantes y los paquetes más famosos:
- Paquete de funciones para crear gráficos en lenguaje html y java para ponerlos en la web: ggvis
- Visualizaciones interactivas en la interfaz de R: rgl
- La manera más rápida y fácil de crear gráficos interactivos basados en el lenguaje Java sin saber nada de Java: htmlwidgets. Entre ellos destacan:
- Plataforma de gráficos interactivos: plotly
- Creación de mini-aplicaciones o no tan mini: R-shiny
- Introducir mapas en R: leaflet (mapas)
- Series temporales sexys: dygraphs
- Tabla de datos interactivas: DT
- Diagramas de cajas molonguis: diagrammeR
- Gráficos tipo redes: network3D
- Gráficos 3D interactivos: threeJS
Puedes hacer graficos interactivos como este con plotly 🙂 . En este post también tienes más gráficos interactivos.
¿Sabes que es Google Charts? Google charts. El paquete googleVis comunica R y google Charts. ¿Conoces a Hans Rosling? ¿y su programa Gapminder? Esta usando este tipo de gráficos. Mira este vídeo de Hans y flipa en colorines.
# Paso 7 – Recopila los datos y crea un informe genial
La parte más aburrida quizá. Pero con R puede ser semi-automatizada y divertida. Puedes generar informes muy molonguis con R. Aquí algundos paquetes recomendados por los chicos de RStudio:
El paquete shiny también te permite crear informes interesantes en html sin saber nada de progrmacón html 😀
¿Quieres automatizar y reproducir informes? Usa R Markdown. Incluso puedes introducir código R en tus documentos markdown. Cuando le das a «render» puedes exportar el report en HTML, pdf, documento MS Word o pdf tipo presentación. Es un must ;). Puedes aprender con este tutorial.
¿Quieres introducir tablas en tus documentos? El paquete xtable convierte objetos dataframes en código latex, html para copiarlos en los documentos que quieras. También los puedos poner en el código de R Markdow.
Puedes hacer reports en powerpoint , word o PDF con este paquete ReporteRs. Échale un vistazo, puede que te guste.
¿Sabes de este paquete knitr? Puedes crear PDFs a partir del código R.
La formación académica es importante para tener un título. Pero en la práctica te toca espabilarte. Tendrás que aprender por ti sólo o con la ayuda de un mentor. La mejor manera de aprender es practicando y encontrándote con el problema real. Cuando tienes el proyecto profesional delante y tienes poco tiempo para hacerlo es momento de aprender bien y rápido.
Este camino de aprendizaje es precisamente para esto. Para que seas autodidacta y vayas aprendiendo con la práctica. A medida que vayamos viajando nos iremos convirtiendo en auténticos data scientist.
¿Con esta lista es suficiente o tienes alguna idea más para completar la información? ¿Algún paquete más? ¿libros útiles? ¿video tutoriales? Soy todo oídos 😛