El lenguaje R es ampliamente reconocido por su versatilidad en el análisis de datos, y aunque se puede instalar y ejecutar directamente R y RStudio en casi cualquier sistema, usar entornos basados en contenedores —como los que ofrece el Rocker Project— nos brinda ventajas significativas a largo plazo.
1 R: Una herramienta excepcional para el análisis de datos
R destaca por sus numerosas cualidades que lo hacen ideal para científicos de datos y analistas:
- Gratuito y de código abierto: Permite el acceso libre a un ecosistema de paquetes y herramientas.
- Amplia variedad de herramientas: Existen innumerables paquetes y librerías diseñados para tareas específicas de análisis, estadística y visualización.
- Fácil de aprender: Su sintaxis y comunidad de apoyo facilitan el proceso de aprendizaje para nuevos usuarios.
- Multiplataforma: Se ejecuta sin problemas en Windows, macOS y Linux.
- Comunidad activa: La colaboración y el constante desarrollo impulsan la innovación y mejora continua del entorno.
2 La importancia de la reproducibilidad a lo largo del tiempo
Cuando desarrollamos un programa en R, es fundamental que pueda ser reproducido incluso años después. Para lograrlo, es necesario garantizar:
- Consistencia del entorno: Utilizar la misma versión del sistema operativo, de R y de los paquetes instalados.
- Prevención de incompatibilidades: Las actualizaciones y cambios en el software pueden alterar el comportamiento del código.
- Verificación futura: Asegurar que los análisis y resultados se puedan validar y comparar con versiones anteriores.
- Integridad en la investigación: Una base reproducible es esencial para la honestidad y la claridad en la comunicación científica.
3 Ventajas de usar entornos de desarrollo en contenedores
El uso de contenedores aporta un gran beneficio para la gestión y evolución de nuestros proyectos:
- Aislamiento: El entorno de ejecución se mantiene separado del sistema operativo del host, evitando conflictos de dependencias.
- Portabilidad: Un contenedor puede ser ejecutado en cualquier máquina que tenga Docker, sin necesidad de reconfigurar el entorno.
- Escalabilidad: Es sencillo trasladar el entorno local a servidores de mayor capacidad cuando el proyecto crece.
- Seguridad y consistencia: Garantiza que el código se ejecute de manera idéntica, reduciendo errores inesperados y facilitando la colaboración.
- Mantenimiento simplificado: Las actualizaciones y cambios se gestionan centralizadamente sin afectar el entorno de producción.
4 Rocker: Simplificando el desarrollo reproducible
El Rocker Project ha hecho el trabajo pesado al proporcionar imágenes Docker preconfiguradas que incluyen R, RStudio y otros entornos especializados.
Para obtener todos estos beneficios solo tenemos que seguir los siguientes pasos:
Instalar Docker en tu sistema operativo.
Si usas Windows o Mac puedes descargar Docker Desktop desde la página oficial.
Si usas Linux correr el siguiente bash script con permisos de administrador.
apt update
sudo apt install apt-transport-https ca-certificates curl gnupg2 software-properties-common
curl -fsSL https://download.docker.com/linux/debian/gpg | apt-key add -
add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/debian" bookworm stable
apt update
apt-cache policy docker-ce
apt install docker-ce
systemctl status docker
/usr/sbin/usermod -aG docker <YOUR-USER>
su - <YOUR-USER>
Crea una carpeta en la que almacenar todos los proyectos de R
<mis-proyectos>
.Dentro de
<mis-proyectos>
crea otra carpeta para almacenar copias de las librerías que irás usando en distintos proyectos<mis-paquetes>
.Descarga y activa el contenedor a usar mediante el siguiente comando dentro de la línea de comando o dentro de Docker Desktop.
docker run --rm -tid --name rstudio \
-e DISABLE_AUTH=true \
-p 8787:8787 \
-v <mis-proyectos>:/home/rstudio \
-v <mis-proyectos>/<mis-paquetes>:/opt/r-cache \
ghcr.io/rocker-org/geospatial:4.4.3
- Abre una ventana en tu navegador y ve al link
http://localhost:8787/
y verás a RStudio funcionando desde el contenedor.
5 Configurando git y github
Una vez ya tienes R y RStudio funcionando ya podrás crear tus primeros proyectos y querrás compartir tu progreso con otros.
Así como usamos las redes sociales para compartir nuestras experiencias, los programadores tienen una red social llamada GitHub en la que compartimos nuestro código y nos ayudamos mutuamente.
Como ya el contenedor que estás corriendo tiene instalado git solo necesitas seguir los siguientes pasos para comenzar a utilizar esta poderosa herramienta.
Crea una cuenta en github.com.
Da clic al ícono con tu cuenta y da clic en Settings.
Accede a SSH and GPG keys.
En la esquina superior derecha dale clic a New SSH key.
Define un nombre para tu clave como puede ser
<primera-clave>
.En RStudio ve a la terminal y ejecuta el comando
ssh-keygen
y luego da enter para generar una clave pública y una clave privada.Copia y pega el contenido de tu clave pública ubicada en la siguiente dirección dentro de la caja de Key:
- Desde RStudio: /home/rstudio/.ssh/id_rsa.pub
- Desde tu PC:
/.ssh/id_rsa.pub
Da clic en el botón
Add SSH key
.Ahora solo queda configurar git con la misma cuenta que tenemos creada en GitHub al correr los siguientes comandos.
git config --global user.name "Nombre Apellido"
git config --global user.email "user@email.com"
6 Stopping container
Once you have completed your task we can stop the container by running.
docker stop rstudio