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.
[thrive_leads id=’2153′]
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 😛
Recien lo revisare
Hola Edgar,
Ya me dirás si te ha sido útil 😉
Saludos!
Excelente, grcs
Hola Danielle,
Espero que te sea útil.
Mucha de la información la leí de un blog muy interesante analyticsvidhya.com
¡A disfrutarlo!
Para crear mapas a otro nivel va muy bien el enlace con el SIG en software libre gvSIG:
https://blog.gvsig.org/2016/12/20/documentacion-sobre-el-taller-de-r-dado-durante-las-12as-jornadas-de-gvsig/
Excelente publicacion!!! Muchisimas gracias… su aporte es inmenso a nuestro aprendizaje en este tema tan util del analisis de datos!
Muchas gracias Norberto!
Espero que sea útil y vayas aprendiendo más y mejor 😉
Un fuerte abrazo!
Muchas gracias por esta compilación, Jordi. Me viene genial. Precisamente me estaba introduciendo en R debido a un posgrado en Big Data Marketing que estoy cursando y me está pareciendo alucinante todo lo que se puede hacer. Da vértigo.
Un abrazo
Hola Paco!
Gracias por pasarte por aquí!
Me alegra que te guste la recopilación y te guste el software. R es muy potente. El abanico de posibilidades es enorme.
Saludos!
Exelente amigo, muchas gracias
Muchas gracias Danilo! No olvides de guardarlo en favoritos 😉
La verdad es que ya estaba haciendo algo parecido por mi parte pero ya que tú lo plasmas pues se agradece porque mi progreso iba algo lento.
De igual forma no me gusta recibir cosas de a gratis así nomas porque si, tal vez en un futuro pueda contribuir con algo de material.
Saludos.
Hola Hector!
No te sientas mal por consumir contenidos gratuitos en mi blog. Están para ayudar. Y se te ha servido ya me hace feliz.
Y por supuesto. Sugerencias o material que quieras aportar estaré encantado en verlo.
Gracias por pasarte por el blog.
Un abrazo!
Excelente tu recopilación
Gracias Edwin! Espero que la aproveches. Saludos!!!
Muy buena publicación Jordi, de verdad una compilación muy útil de las diferentes funcionalidades de R.
El tema de los gráficos interactivos y animaciones es realmente una muy buena oportunidad que vale la pena explorar en R. Sobre este tema y para complementar esta información también aconsejaría la libreria «ggextra» que permite hacer tanto animaciones(.gif) como archivos .mp4 y la librería «ggiraph» para agregar algo de interacción a gráficos de ggplot2.
Mención aparte para el video de Hans Rosling y el proyecto Gapminder. Notable!!!
Saludos!!
Una pequeña corrección al comentario anterior.
La librería para hacer animaciones es «gganimate», en cambio con «ggExtra» se pueden incorporar gráficos marginales a un gráfico principal. Saludos!
Gracias Amadeo por pasarte por el blog!
Gracias por ampliar la información sobre funcionalidades gráficas de R. Que creo que es una pasada lo que te puede ofrecer R, la verdad.
Un abrazo grande!
Gracias Jordi… increible compilación…
La manera como describes la estadística y este tipo de conocimientos… lo hace ver sencillo.
Hola Jaime! Esa es la intención!
Gracias por tus palabras!
Hola Jordi.
Soy Medico Cirujano Oncologo Buscando mejorar mis capacidadades para Analizar mis datos y generar mejor investigacion
me ha parecido muy bueno tu curso el cual ha mejorado mis competencias y lo compartire con muchos de mi colegas.
te agradeceria si me puedes regalar algunos links. que vallan con mis objetivos de analizar superviviencias ( metodos estadisticos aplicados en oncologia )
Saludos desde Colombia.
Hola Andres!
Lo tendré en cuenta. Análisis de supervivencia los tengo pendientes.
Muchas gracias por pasarte!
Buenos dias,
Si me permites, amigo Jordi, te voy a hacer una correción en tu artículo… la frase que pone «R es el motor que hay detrás de softwares como SPSS, STATA o SAS.» no es correcta. SAS tiene su propio lenguaje SAS y no tiene nada que ver con R.
SAS y R son programas muy buenos, uno de pago y el otro gratis. Ambos son paquetes estadísticos muy completos, por eso comparten comandos pero no comparten el motor del código de programación.
Cualquier aclaración adicional, no tienes más que preguntar.
Un saludo a todos!
Hola Dolores!
Muchas gracias por ayudarme a corregir algunos de los contenidos!
Como no domino SAS metí la pata en este sentido con R. Tenía entendido que R era el corazón del lenguaje SAS pero realmente no es así! Son lenguajes distintos!
Gracias por ayudarme Dolores!