Los 7 pasos para convertirte en un data scientist en R. Un camino de aprendizaje ordenado y sin agobios

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.

  1. Instala R en R-Cran
  2. Instala RStudio
  3. Instala R-Commander si quieres hacer estudis estadísticos sencillos como SPSS (Mira este blog para usar R-Commander 😉 )
  4. Comprende la user interface de RStudio. Mirate el post de R para principiantes.
  5. Aprende a instalar paquetes de funciones

 # 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:

  1. Asimila las bases de la programación .En DataCamp aprendes practicando.
  2. Profundiza en el lenguaje y los tipos de estructuras. Aprende con este curso de Coursera. O con este curso de DataCamp.
  3. Aprende a estructurar tus códigos.

# 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 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.
  1. Dónde encontrar los paquetes: RCran, en Github Bitbucket
  2. Buscadores de paquetes: RDocumentation y R-Pk
  3. Foros de consulta: stackoverflow y Rseek
  4. Bloggers específicos de R en R-bloggers

RStudio-Ball

# 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 datosRODBC, 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
  1. Aprende a importar datos: tutorial maravilloso de DataCamp
  2. Para importar datos ASCII usa las funciones import,  read.csv, read.table, and read.fwf
  3. Importar datos excel: XLConnect, xlsx
  4. Importar datos Matlab: RMatlab
  5. Comunicarse con base de datos: RODBC, RMySQL, RPostgresSQL, RSQLite
  6. Paquetes interesantes: dplyr para manipular los datos fácilmente,  tidyr para convertir tu estructura en datos en tabla de datos o tidystringr para caracteres, 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.

Con bases asentadas puedes seguir formándote con estos recursos en el mundo del data mining:

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:

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:

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:

  1. Paquete de funciones para crear gráficos en lenguaje html y java para ponerlos en la web: ggvis
  2. Visualizaciones interactivas en la interfaz de R: rgl
  3. 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.

  1. Aprende las bases de los gráficos en R
  2. Dibuja los gráficos más sexys con ggplot2. Curso recomendado de ggplot2
  3. Gráficos interactivos con htmlwidgets: plotly, shiny. Sigue este tutorial
  4. ¿Quieres más? googleVis y Hans Rosling. Mira esta conferencia TED. Sencillamente brutal 😀
  5. Si quieres graficar mapas mira el Bonus que te he preparado abajo de este post

# 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.

  1. Aprende a usar R Markdown con este tutorial y crea tu primer report. Si lo prefieres puedes usar ReporteRs
  2. No olvides introducir tablas en tus reports mediante el paquete xtable
  3. Si quiere más utiliza aplicaciones web interactivas para reportar. Mira este tutorial de RShiny

# Bonus 1 – Análisis de series temporales

R es una muy buena herramienta para tratar series temporales. Tiene un montón de paquetes al respecto. Es interesante para analizar series temporales de econometría. Por si es de tu interés te he listados unos cuantos paquetes interesantes:

  1. El formato más famosos para guardar series temporales en R: zoo 
  2. Herramientas muy flexibles para tratar series temporales: xts 
  3. Herramientas para descargarse datos de finanzas en la red, crear gráficos específicos de series temporales y técnicas de análisis interesantes: quantmod

Si quieres explicaciones y tutoriales sencillos te dejo dos que te pueden venir muy bien:

# Bonus 2 – Modelizar datos

Muchas veces es interesantes encontrar modelos paramétricos para recrear un patrón de datos o un modelo físico. Aquí te listo una serie de paquetes recomendados por RStudio y ampliamente usados:

  1. ¿Quieres crear tablas ANOVAS ?Anova es una función muy popular para crear análsis de varianza tipo II y III.
  2. Modelos aditivos generalizados o Generalized Additive Models con mgcv
  3. Modelos lineales generalizados son muy interesantes y se pueden usar en muchas aplicaciones: lme4/nlme. Puede ser linear o no-lineales.
  4. Unos de los métodos más conocidos en machine learning is los modelos de randomForest. Este paquete es genial para modelizar este tipo de estructuras.
  5. ¿Quieres hacer test de hipotesis de todo tipo? Con multcomp tendrás herramientas de sobras para hacerlo miles de tests y calcular intervalos de confianza.
  6. Un paquete interesante para visualizar variables categóricas y realizar test estadísticos: vcd
  7. Si quieres más paquetes aquí te dejo tres más bastante específicos: glmnetsurvivalcaret.

# Bonus 3 – Trabajar con mapas

Es muy interesante poder trabajar con mapas. R te permite graficar datos encima de los mapas geográficos. Si estás interesado en esto aquí tienes unos links muy interesantes:

  1. Herramientas para cargar mapa y shapefiles sp, maptools
  2. Maps un paquete para crear mapas poligonales
  3. Puedes importar mapas de google maps con ggmap. Te puedes comunicar con ggplot2
  4. Con este tutorial puedes empezar a utilizar estas herramientas : Introducción a la visualización de datos espaciales en R
  5. Plotly y choroplethr se juntan para crear mapas como estos.

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 😛

24 comentarios en “Los 7 pasos para convertirte en un data scientist en R. Un camino de aprendizaje ordenado y sin agobios”

    1. Muchas gracias Norberto!
      Espero que sea útil y vayas aprendiendo más y mejor 😉

      Un fuerte abrazo!

  1. 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

    1. 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!

  2. 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.

    1. 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!

  3. 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!!

    1. 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!

    2. 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!

  4. Jaime Cueva Gutierrez

    Gracias Jordi… increible compilación…
    La manera como describes la estadística y este tipo de conocimientos… lo hace ver sencillo.

  5. 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.

    1. Hola Andres!
      Lo tendré en cuenta. Análisis de supervivencia los tengo pendientes.
      Muchas gracias por pasarte!

  6. 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!

    1. 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!

Los comentarios están cerrados.

Scroll al inicio