Ir al contenido principal

Jupyter y R Markdown: cuadernos con R

Aprende a instalar, ejecutar y usar R con Jupyter Notebook y el R Notebook de RStudio, con consejos y alternativas
Actualizado 17 sept 2026  · 15 min leer

Explorar con IA

ChatGPTClaudePerplexity

Cuando trabajas en problemas de ciencia de datos, puede que quieras montar un entorno interactivo para desarrollar y compartir el código de un proyecto con otras personas. Esto puedes configurarlo fácilmente con un cuaderno (notebook). 

En otros casos, solo querrás comunicar el flujo de trabajo y los resultados que has obtenido al analizar tu problema de ciencia de datos. Para elaborar un informe transparente y reproducible, un cuaderno también te será muy útil.

Exacto: los cuadernos son perfectos cuando necesitas combinar texto plano con elementos enriquecidos como gráficos, cálculos, etc.

En este tutorial veremos:

R y Jupyter Notebook


Al contrario de lo que pueda parecer, Jupyter no te limita a trabajar solo con Python: la aplicación de cuadernos es agnóstica al lenguaje, lo que significa que también puedes trabajar con otros lenguajes. 

Hay dos formas generales de empezar a usar R con Jupyter: mediante un kernel o configurando un entorno de R con todas las herramientas esenciales para empezar con ciencia de datos.

Ejecutar R en Jupyter con el kernel de R

Como se ha descrito arriba, la primera forma de ejecutar R es usando un kernel. Si quieres ver la lista completa de kernels disponibles en Jupyter, entra aquí.

Para trabajar con R, tendrás que cargar IRKernel y activarlo para empezar a usar R en el entorno del cuaderno.

Primero, tendrás que instalar algunos paquetes. Asegúrate de no hacerlo en la consola de RStudio, sino en una terminal R normal, o te saldrá un error como este:

Error in IRkernel::installspec() :
Jupyter or IPython 3.0 has to be installed but could neither run “jupyter” nor “ipython”, “ipython2” or “ipython3”.
(Note that “ipython2” is just IPython for Python 2, but still may be IPython 3.0)
$ R

> install.packages(c('repr', 'IRdisplay', 'evaluate', 'crayon', 'pbdZMQ', 'devtools', 'uuid', 'digest'))

Este comando te pedirá que introduzcas un número para seleccionar un mirror de CRAN e instalar los paquetes necesarios. Escribe un número y la instalación continuará.

> devtools::install_github('IRkernel/IRkernel')

Después, aún tienes que hacer visible el kernel de R para Jupyter:

# Instalar IRKernel para el usuario actual

> IRkernel::installspec()

# O instalar IRKernel para todo el sistema

> IRkernel::installspec(user = FALSE)

Ahora abre la aplicación de cuadernos con jupyter notebook. Verás R en la lista de kernels al crear un cuaderno nuevo. 

Usar un entorno R Essentials en Jupyter

La segunda opción para trabajar rápido con R es instalar los R essentials en tu entorno actual:

conda install -c r r-essentials

Estos "essentials" incluyen los paquetes dplyrshinyggplot2tidyrcaretnnet. Si no quieres instalarlos en tu entorno actual, puedes crear un entorno nuevo solo para los R essentials con:

conda create -n my-r-env -c r r-essentials

Ahora abre la aplicación de cuadernos para empezar a trabajar con R.

Quizá te preguntes qué hacer si quieres instalar paquetes adicionales para ampliar tu proyecto de ciencia de datos. Estos paquetes te sirven para empezar, pero puede que necesites otras herramientas.

Pues bien, puedes crear un paquete de R para Conda ejecutando, por ejemplo:

conda skeleton cran ldavis conda build r-ldavis/

O puedes instalar el paquete desde R con install.packages() o devtools::install_github (para instalar paquetes desde GitHub). Solo asegúrate de añadir el paquete nuevo a la biblioteca de R que usa Jupyter:

install.packages("ldavis", "/home/user/anaconda3/lib/R/library")

Si quieres saber más sobre kernels o sobre ejecutar R en un entorno Docker, echa un vistazo a esta página.

Añadir un poco de magia de R a Jupyter

Una gran ventaja de los cuadernos es que te ofrecen un entorno interactivo. Esa interactividad viene sobre todo de las llamadas "magic commands".

Estos comandos te permiten cambiar de Python a la línea de comandos o escribir código en otro lenguaje como R, Julia, Scala, …

Para cambiar de Python a R, primero tienes que descargar el siguiente paquete:

%load_ext rpy2.ipython

Después, ya puedes empezar con R o cambiar fácilmente de Python a R en tu análisis con el comando mágico %R.

Veamos cómo funciona la magia de R con un ejemplo sencillo:

# Ocultar advertencias si las hubiera
import warnings
warnings.filterwarnings('ignore')
# Cargar la extensión de R
%load_ext rpy2.ipython
# Necesitamos ggplot2
%R require(ggplot2)
# Cargar la librería pandas
import pandas as pd 
# Crear un DataFrame de pandas
df = pd.DataFrame({'Alphabet': ['a', 'b', 'c', 'd','e', 'f', 'g', 'h','i'],
                   'A': [4, 3, 5, 2, 1, 7, 7, 5, 9],
                   'B': [0, 4, 3, 6, 7, 10,11, 9, 13],
                   'C': [1, 2, 3, 1, 2, 3, 1, 2, 3]})
# Tomar el nombre de la variable de entrada df y asignarlo a una variable de R con el mismo nombre
%%R -i df
# Representar el DataFrame df
ggplot(data=df) + geom_point(aes(x=A, y=B, color=C))

Si quieres más detalles sobre Jupyter, cómo configurar un cuaderno, dónde descargar la aplicación, cómo ejecutarla (vía Docker, pip install o con la distribución Anaconda) u otros detalles, consulta nuestra guía definitiva.

El R Notebook


Hasta hace poco, Jupyter parecía ser una solución popular entre usuarios de R, junto con cuadernos como Apache Zeppelin o Beaker.

Además, otras alternativas para informar de resultados de análisis, como R Markdown, knitr o Sweave, han sido muy populares en la comunidad de R.

Sin embargo, esto puede cambiar con la reciente publicación del R Notebook o R Markdown Notebook por parte de RStudio.

Como ves, el contexto del R Markdown Notebook es complejo y merece la pena revisar la historia de la investigación reproducible en R para entender qué motivó la creación y evolución de este cuaderno. Al final, también verás que este cuaderno es diferente a los demás. 

R y la historia de la investigación reproducible

En su charla, J.J Allaire confirma que los esfuerzos en R para la investigación reproducible, los esfuerzos de Emacs para combinar texto, código y entrada, los proyectos Pandoc, Markdown y knitr, y los cuadernos computacionales han evolucionado en paralelo influyéndose mutuamente durante muchos años. Afirma que todos estos factores acabaron desembocando en la creación y desarrollo de cuadernos para R.

Para empezar, los cuadernos computacionales tienen bastante historia: desde finales de los 80, cuando se lanzó la interfaz de Mathematica, ha habido muchos avances. En 2001, Fernando Pérez empezó a desarrollar IPython, pero no fue hasta 2011 cuando se publicó la versión 0.12 de IPython. El proyecto SageMath comenzó en 2004. Después han surgido muchos cuadernos. Los más destacados para la comunidad de ciencia de datos son Beaker (2013), Jupyter (2014) y Apache Zeppelin (2015). 

Luego están los lenguajes de marcado y editores de texto que influyeron en la creación del cuaderno de RStudio: Emacs, Markdown y Pandoc. Org-mode se lanzó en 2003. Es un modo de edición y organización para notas, planificación y autoría en el editor de texto libre Emacs. Seis años después apareció Emacs org-R para dar soporte a usuarios de R. Markdown, por su parte, se publicó en 2004 como un lenguaje de marcado que te permite dar formato al texto plano para convertirlo a HTML u otros formatos. Unos años más tarde llegó Pandoc. Es una herramienta de escritura y base para flujos de publicación.

Por último, los esfuerzos de la comunidad de R para garantizar que la investigación sea reproducible y transparente también han contribuido al auge de un cuaderno para R. En 2002 se presentó Sweave para permitir incrustar código R en documentos LaTeX y generar archivos PDF. Estos PDF combinaban narrativa y análisis, gráficos, código y resultados. Diez años más tarde se desarrolló knitr para resolver problemas históricos de Sweave y combinar en un solo paquete funciones que existían en otros complementos. Es un motor transparente para generar informes dinámicos en R. Knitr permite cualquier lenguaje de entrada y cualquier lenguaje de marcado de salida.

También en 2012 se creó R Markdown como una variante de Markdown que puede incrustar bloques de código R y que puede usarse con knitr para crear informes reproducibles para la web. La gran ventaja era —y sigue siendo— que ya no es necesario usar LaTeX, que tiene una curva de aprendizaje. La sintaxis de R Markdown es muy similar a la de Markdown, pero con algunos ajustes, como la posibilidad de incluir ecuaciones en LaTeX.

R Markdown frente a los cuadernos computacionales

R Markdown es probablemente una de las opciones más populares en la comunidad de R para documentar análisis de datos. No es de extrañar que siga siendo un componente central del R Markdown Notebook. 

R Markdown y los cuadernos comparten cosas, como ofrecer un flujo reproducible, entretejer código, salida y texto en un único documento, admitir widgets interactivos y exportar a múltiples formatos. Sin embargo, difieren en su énfasis: R Markdown se centra en la ejecución por lotes reproducible, la representación en texto plano, el control de versiones, la salida de producción y ofrece el mismo editor y herramientas que usas para scripts de R.

Por otro lado, los cuadernos computacionales tradicionales se centran en mostrar la salida en línea con el código, cachear la salida entre sesiones, compartir código y salida en un único archivo. Los cuadernos dan prioridad a un modelo de ejecución interactivo. No usan representación en texto plano, sino una representación de datos estructurada, como JSON.

Todo esto explica el objetivo del cuaderno de RStudio: combinar todas las ventajas de R Markdown con lo mejor que ofrecen los cuadernos computacionales. 

Por eso R Markdown es un componente central del R Markdown Notebook: RStudio define su cuaderno como "un documento R Markdown con bloques que pueden ejecutarse de forma independiente e interactiva, con la salida visible inmediatamente debajo de la entrada".

Cómo trabajar con R Notebooks


Si has trabajado con Jupyter u otro cuaderno computacional, verás que el flujo de trabajo es muy similar. Una diferencia notable es que ahora, por defecto, no trabajas con celdas de código: más bien utilizas una especie de editor de texto en el que señalas tus bloques de código con R Markdown.

Cómo instalar y usar el R Markdown Notebook

El primer requisito para usar el cuaderno es tener la última versión de RStudio instalada en tu equipo. Como los cuadernos son una función nueva de RStudio, solo están disponibles a partir de la versión 1.0. Así que es importante comprobar que tienes la versión adecuada.

Si no tienes la versión 1.0 o superior de RStudio, puedes descargar la más reciente aquí.

Después, para crear un cuaderno nuevo, ve a la pestaña File, selecciona New File y verás la opción de crear un R Markdown Notebook. Si RStudio te pide actualizar algunos paquetes, acepta y, tras ello, aparecerá un archivo nuevo.

Consejo: comprueba que estás trabajando con un cuaderno mirando la parte superior del documento. La salida debe ser html_notebook.

Verás que el texto por defecto del documento está en R Markdown. R Markdown debería resultarte familiar, pero si aún no te manejas bien, puedes echar un vistazo a nuestro curso Reporting With R Markdown o revisar el material que ofrece RStudio.

Comparar Jupyter con R Markdown

Nota: siempre puedes usar el icono del engranaje para ajustar el espacio de trabajo del cuaderno: puedes expandir, contraer y eliminar la salida de tu código, cambiar las opciones de vista previa y modificar las opciones de salida.

Esta última opción viene genial si quieres cambiar el resaltado de sintaxis, aplicar otro tema, ajustar el ancho y la altura por defecto de las figuras que aparecen en tu salida, etc.

A partir de ahí, ¡empieza a insertar bloques de código y texto!

Puedes añadir bloques de código de dos formas: con el atajo de teclado Ctrl + Alt + ICmd + Option + I o con el botón Insert de la barra de herramientas. 

Lo mejor de trabajar con estos cuadernos R Markdown es que puedes seguir la ejecución de tus bloques de código gracias a la barra verde que aparece a la izquierda cuando ejecutas bloques grandes o varios a la vez. Fíjate también en la barra de progreso de la parte inferior.

Puedes ver la barra de progreso verde en el gif siguiente:

Usar el R Notebook

Hablando de ejecución: hay varias formas de ejecutar tus bloques de código R.

Puedes ejecutar un bloque o el siguiente, ejecutar todos los bloques por debajo o por encima; también puedes reiniciar R y ejecutar todos los bloques o reiniciar y limpiar la salida.

Nota: cuando ejecutas el código del cuaderno, ¡también verás la salida en tu consola! Esto puede ser bastante diferente para quienes suelen trabajar con otros cuadernos como Jupyter.

Si se producen errores al ejecutar los bloques del cuaderno, la ejecución se detendrá y aparecerá una barra roja junto al fragmento de código que genera el error.

Puedes evitar que se detenga la ejecución añadiendo errors = TRUE en las opciones del bloque, así:

```{r, error=TRUE}
iris <- read.csv(url("http://mlr.cs.umass.edu/ml/machine-leaning-databases"), header = FALSE)
names(iris) <- c("Sepal.Length", "Sepal.Width", "Petal.Length", "Petal.Width", "Species")
```

Nota: el error seguirá apareciendo, pero ¡la ejecución del cuaderno no se detendrá!

Cómo usar la "magia" del R Markdown Notebook

Al igual que con Jupyter, también puedes trabajar de forma interactiva con tus cuadernos R Markdown. Funciona un poco distinto, ya que no hay comandos mágicos como tal; para trabajar con otros lenguajes tienes que añadir bloques específicos de Bash, Stan, Python, SQL o Rcpp al cuaderno. 

Puede que estas opciones te parezcan limitadas, pero se compensa con lo fácil que es añadir estos tipos de bloques con el botón Insert de la barra.

Y trabajar con estos bloques también es sencillo: puedes ver un ejemplo de bloques SQL en este documento, publicado por J.J Allaire. Para comandos Bash, solo escribe el comando. No hacen falta caracteres extra como ‘!’ para indicar que estás en Bash, como harías en Jupyter. 

Cómo exportar tus R Markdown Notebooks 

Antes de generar la versión final de un cuaderno, quizá quieras previsualizar lo que has hecho. Hay una función muy práctica para hacerlo: la encontrarás en la barra de herramientas. 

Haz clic en el botón "Preview" y la versión provisional de tu documento aparecerá a la derecha, en la pestaña "Viewer".

Añadiendo algunas líneas en la sección inicial del cuaderno puedes ajustar las opciones de salida, así:

---
title: "Notebook with KNN Example"
output:
  pdf_document:
    highlight: tango
    toc: yes
  html_notebook:
    toc: yes
---

Para ver dónde conseguir esas distribuciones, intenta tejer (knit) y la consola te dará los sitios desde los que descargar los paquetes necesarios. 

Ten en cuenta que esta es solo una de las muchas opciones para exportar un cuaderno: también puedes generar documentos para GitHub, documentos de Word, presentaciones beamer, etc. Son las mismas opciones de salida que ya tenías con archivos R Markdown normales. Puedes encontrar más información aquí

Trucos para trabajar con R Notebook


Además de las buenas prácticas generales de codificación (documentar tu código y aplicar un esquema de nombres coherente, agrupar código y cuidar la longitud de los nombres), puedes aplicar estos consejos para que tu cuaderno sea impecable para quien lo lea o reutilice:

  • Como con los cuadernos computacionales, conviene dividir bloques de código muy grandes o que generen más de una salida en varios bloques. Así mejorarás la experiencia de uso y aumentarás la transparencia.
  • Aprovecha los atajos de teclado para trabajar más rápido. Verás la mayoría junto a los comandos correspondientes en la barra de herramientas. 
  • Usa el corrector ortográfico de la barra de herramientas para asegurarte de que el vocabulario de tu informe es correcto. 
  • Saca partido a la opción de ocultar el código si un cuaderno contiene mucho código. Puedes hacerlo con las opciones de los bloques o en el propio archivo HTML del cuaderno.

R Notebook frente a Jupyter Notebook


Además de las diferencias entre los cuadernos de Jupyter y de R Markdown que ya has visto, hay algunos aspectos más.

¡Comparemos Jupyter con R Markdown Notebook!

Hay cuatro aspectos interesantes a considerar: compartir cuadernos, ejecución del código, control de versiones y gestión de proyectos.

Compartir cuadernos

El código fuente de un cuaderno R Markdown es un archivo .Rmd. Pero al guardar un cuaderno, se crea a su lado un archivo .nb.html. Este HTML es un archivo asociado que incluye una copia del código fuente R Markdown y la salida generada. 

Esto significa que no necesitas un visor especial para ver el archivo, mientras que puede que sí lo necesites para ver cuadernos creados con Jupyter, que son documentos JSON, u otros cuadernos con salidas en formatos estructurados. Puedes publicar tu R Markdown Notebook en cualquier servidor web, en GitHub o adjuntarlo por correo.

También hay APIs para renderizar y parsear cuadernos R Markdown: esto permite que otras herramientas de frontend creen modos de autoría de cuadernos para R Markdown. O que se creen utilidades de conversión entre distintos formatos de cuadernos.

Para compartir los cuadernos que haces en Jupyter, puedes exportarlos como presentaciones, blogs, paneles, etc. Tienes más información en este tutorial. Además, están las opciones por defecto para generar scripts de Python, archivos HTML, Markdown, PDF o reStructuredText.

Ejecución del código

R Markdown Notebooks permite ejecutar un bloque o el siguiente, ejecutar todos los bloques por debajo o por encima; además, puedes reiniciar R y ejecutar todos los bloques o reiniciar y limpiar la salida.

Estas opciones son interesantes cuando trabajas con R porque el R Markdown Notebook permite que todas las piezas de código R compartan el mismo entorno. Sin embargo, esto puede ser una desventaja si trabajas con piezas de código que no son de R, ya que estas no comparten entorno.

En conjunto, estas opciones de ejecución aportan bastante flexibilidad a quienes hayan tenido dificultades con las opciones que ofrece Jupyter, aunque no sean tan distintas: en Jupyter puedes ejecutar una sola celda, ejecutar varias celdas y ejecutar todas. También puedes limpiar la salida actual o todas. El entorno de código se comparte entre celdas.

Control de versiones

Se ha dicho que Jupyter complica el control de versiones de los cuadernos o que es difícil usar git con ellos. Algunas soluciones son exportar el cuaderno como script, configurar un filtro para corregir partes de los metadatos que no deberían cambiar al hacer commit o eliminar el contador de ejecuciones y la salida.

Los R Markdown Notebooks parecen facilitar este punto: como tienen archivos HTML asociados que guardan la salida de tu código y los archivos del cuaderno son esencialmente texto plano, el control de versiones es mucho más llevadero. Puedes optar por subir solo tu archivo .Rmd a GitHub o a tu sistema de versionado, o incluir también el archivo .nb.html .

Gestión de proyectos

Como el R Markdown Notebook es nativo del entorno de desarrollo de RStudio, los cuadernos se integran sin fricciones con tus proyectos de R. Además, estos cuadernos admiten otros lenguajes, incluidos Python, C y SQL.

Por su parte, el proyecto Jupyter no es nativo de ningún entorno de desarrollo: en ese sentido, te costará un poco más integrarlo a la perfección en tus proyectos. Aun así, este cuaderno admite más lenguajes y será mejor compañero si buscas usar Scala, Apache Toree, Julia u otro lenguaje. 

Alternativas a los cuadernos de Jupyter o R Markdown


Además de los cuadernos que puedes usar como entornos interactivos de ciencia de datos y que facilitan compartir tu código con colegas, pares y amistades, hay otras alternativas a tener en cuenta.

Porque a veces no necesitas un cuaderno, sino un panel, una plataforma de aprendizaje interactiva o un libro, por ejemplo.

Ya has leído sobre opciones como Sweave y knitr en la segunda sección. Otras alternativas son:

  • Aunque en esta entrada hemos hablado de R Markdown, debes saber que puedes hacer mucho más con él. Por ejemplo, crear paneles con flexdashboard.
  • O usar Bookdown para publicar rápidamente libros en HTML, PDF, ePub y Kindle con R Markdown. 
  • Shiny es otra herramienta que puedes usar para crear paneles. Para empezar con Shiny, visita esta página.
  • En entornos educativos, DataCamp Light también puede ser muy útil para crear tutoriales interactivos en tu blog o web. Si quieres ver DataCamp Light en acción, entra en este tutorial, por ejemplo.
Temas
R
Relacionado

Tutorial

Tutorial de RStudio

Descubra qué es RStudio y cómo instalarlo y empezar a utilizarlo
Elena Kosourova 's photo

Elena Kosourova

12 min

Tutorial

Tutorial sobre cómo instalar R en Windows, Mac OS X y Ubuntu

Esta es una guía para principiantes diseñada para ahorrarte dolores de cabeza y un tiempo valioso si decides instalar R tú mismo.
Francisco Javier Carrera Arias's photo

Francisco Javier Carrera Arias

6 min

Tutorial

Tutorial de Markdown en Jupyter Notebook

En este tutorial, aprenderás a utilizar y escribir con diferentes etiquetas de marcado utilizando Jupyter Notebook.

Olivia Smith

9 min

Tutorial

Paquetes R: Tutorial para principiantes

Una introducción a los paquetes de R basada en 11 de las preguntas más frecuentes de los usuarios.
DataCamp Team's photo

DataCamp Team

15 min

A jupyter lab

Tutorial

Tutorial de introducción a JupyterLab

En este artículo, le presentaremos JupyterLab, uno de los IDE más populares para la ciencia de datos.
Javier Canales Luna's photo

Javier Canales Luna

7 min

Jupyter and the notebook

Tutorial

Cómo utilizar Jupyter Notebooks: La guía definitiva

Este artículo explica qué son los blocs de notas y por qué deberías utilizarlos. También profundizamos en los cuadernos alojados, que facilitan el intercambio y la colaboración. Este artículo también incluye consejos, trucos y atajos de teclado.
Adam Shafi's photo

Adam Shafi

7 min

Ver MásVer Más