Ir al contenido

El Poder y la Versatilidad de R — Mucho Más que Estadística

1648 palabras·8 mins
William Cruz
Nuno Coraçao
Tabla de contenido

R es frecuentemente percibido como una herramienta especializada únicamente para estadísticos, pero esta percepción subestima enormemente sus capacidades. Si bien R sobresale en el análisis estadístico y la manipulación de datos, también es un potente lenguaje de programación de propósito general con un ecosistema rico, modelos de datos expresivos y elegantes herramientas de visualización. Es un entorno dinámico que va mucho más allá del simple cálculo numérico.

Más Allá de la Estadística: Un Ecosistema Completo
#

En su núcleo, R proporciona una base sólida para la computación estadística. Sus extensas bibliotecas (llamadas “paquetes”) ofrecen funciones para prácticamente cualquier método estadístico imaginable, desde estadísticas descriptivas simples hasta técnicas avanzadas de modelado. Sin embargo, el poder de R se extiende mucho más allá de la estadística a una amplia gama de tareas, entre ellas:

  • Limpieza y Transformación de Datos: R ofrece potentes herramientas para limpiar, transformar y reestructurar datos. Paquetes como dplyr y tidyr proporcionan una gramática intuitiva de manipulación de datos, facilitando la preparación de datos para el análisis.
  • Visualización de Datos: R es reconocido por sus excepcionales capacidades de visualización de datos. El paquete ggplot2, basado en la Gramática de Gráficos, permite a los usuarios crear visualizaciones impactantes e informativas con un alto grado de personalización. Más allá de ggplot2, existen numerosos otros paquetes para gráficos interactivos, mapas y visualizaciones especializadas.
  • Aplicaciones Web Interactivas (Shiny): El paquete shiny permite construir aplicaciones web interactivas directamente desde R — desde simples paneles de control hasta complejas herramientas de exploración de datos — sin necesidad de amplios conocimientos de desarrollo web.
  • Aprendizaje Automático y Aprendizaje Profundo: R cuenta con un floreciente ecosistema de aprendizaje automático, con paquetes como caret, mlr3 y keras (una interfaz con la popular biblioteca de aprendizaje profundo de Python) que dan acceso a una amplia gama de algoritmos, incluyendo modelos de aprendizaje profundo. Las potentes herramientas y bibliotecas de R fueron fundamentales en la optimización y el refinamiento de los algoritmos de Apex.
  • Generación de Informes (R Markdown): R Markdown permite combinar código, resultados y texto narrativo en un único documento, produciendo informes reproducibles, presentaciones e incluso libros completos.
  • Y mucho más: Las capacidades de R se extienden al análisis geoespacial, la minería de texto, la bioinformática, la econometría y muchos otros campos especializados.

Desarrollo Impulsado por la Comunidad: El Repositorio CRAN
#

Una fortaleza clave de R es su comunidad vibrante y activa. Desarrolladores de todo el mundo contribuyen paquetes a la Red Integral de Archivos de R (CRAN), un repositorio central que facilita la instalación y el uso de una vasta colección de herramientas. Este modelo colaborativo garantiza que R evolucione constantemente, con nuevos paquetes y funcionalidades añadidos regularmente. Su naturaleza de código abierto fomenta la innovación y mantiene a R a la vanguardia de la ciencia de datos.

Este Sitio Web: Un Testimonio de la Versatilidad de R
#

Este sitio web fue construido íntegramente dentro de la plataforma RStudio — un entorno de desarrollo integrado (IDE) específicamente diseñado para R. Si bien HTML, JavaScript y CSS se encargan del diseño y la interactividad del frontend, la estructura principal y la gestión de contenido se realizaron con R. Esto demuestra la notable flexibilidad de R y su capacidad para ir mucho más allá de las aplicaciones estadísticas tradicionales. El paquete blogdown (construido sobre Hugo) hace posible crear sitios web estáticos directamente desde documentos R Markdown.

Crear un Sitio Web con R
#

Estas instrucciones te pondrán en marcha con Hugo y Blowfish desde cero. La mayoría de las dependencias necesarias se pueden instalar usando el gestor de paquetes de tu plataforma. También puedes seguir la guía estándar de Hugo Quick Start para comenzar rápidamente.

Instalar Hugo
#

Si no has usado Hugo antes, necesitarás instalarlo en tu máquina local. Puedes verificar si ya está instalado ejecutando el comando hugo version.

Asegúrate de usar Hugo versión 0.87.0 o posterior, ya que el tema aprovecha algunas de las funciones más recientes de Hugo.

Las instrucciones de instalación detalladas para tu plataforma están disponibles en la documentación de Hugo.

Blowfish Tools (recomendado)
#

Existe una herramienta CLI disponible para ayudarte a comenzar con Blowfish. Creará un nuevo proyecto Hugo, instalará el tema y configurará los archivos de configuración automáticamente. Todavía está en fase beta, así que por favor reporta cualquier problema que encuentres.

Instala la herramienta CLI globalmente usando npm (u otro gestor de paquetes):

npx blowfish-tools

o

npm i -g blowfish-tools

Luego ejecuta el comando blowfish-tools para iniciar una sesión interactiva que te guiará a través del proceso de creación y configuración:

blowfish-tools

También puedes ejecutar blowfish-tools new para crear un nuevo proyecto Hugo e instalar el tema en un solo paso. Consulta la ayuda de la CLI para más información:

blowfish-tools new mynewsite

Aquí tienes un video que muestra lo rápido que es comenzar con Blowfish usando la herramienta CLI:

Instalar sin CLI
#

Crear un nuevo sitio
#

Ejecuta el comando hugo new site mywebsite para crear un nuevo sitio Hugo en un directorio llamado mywebsite.

Puedes nombrar el directorio del proyecto como quieras, pero las instrucciones a continuación asumirán que se llama mywebsite. Si usas un nombre diferente, sustitúyelo según corresponda.

Descargar el tema Blowfish
#

Hay varias formas diferentes de instalar el tema Blowfish en tu sitio Hugo. De más fácil a más complejo de instalar y mantener:

Si no estás seguro, elige el método de submódulo de Git.

Instalar usando git
#

Este método es el más rápido y sencillo para mantener el tema actualizado. Además de Hugo y Go, también necesitarás tener Git instalado en tu máquina local.

Navega al directorio de tu sitio Hugo (creado anteriormente), inicializa un nuevo repositorio git y agrega Blowfish como submódulo:

cd mywebsite
git init
git submodule add -b main https://github.com/nunocoracao/blowfish.git themes/blowfish

Luego continúa a configurar los archivos de configuración del tema.

Instalar usando Hugo
#

Con este método, Hugo gestiona tus temas. Hugo usa Go para inicializar y gestionar módulos, así que asegúrate de que go esté instalado antes de continuar.

  1. Descarga e instala Go. Puedes verificar la instalación con el comando go version.

    Asegúrate de usar Go versión 1.12 o posterior, ya que Hugo lo requiere para que los módulos funcionen correctamente.
  2. Desde el directorio de tu proyecto Hugo (creado anteriormente), inicializa los módulos para tu sitio web:

    # Si estás gestionando tu proyecto en GitHub
    hugo mod init github.com/<username>/<repo-name>
    
    # Si estás gestionando tu proyecto localmente
    hugo mod init my-project
    
  3. Añade el tema a tu configuración creando un nuevo archivo config/_default/module.toml con el siguiente contenido:

    [[imports]]
    disable = false
    path = "github.com/nunocoracao/blowfish/v2"
    
  4. Inicia tu servidor con hugo server y el tema se descargará automáticamente.

  5. Continúa a configurar los archivos de configuración del tema.

Instalar manualmente
#

  1. Descarga la última versión del código fuente del tema.

    Descargar desde Github
  2. Extrae el archivo, renombra la carpeta a blowfish y muévela al directorio themes/ dentro de la carpeta raíz de tu proyecto Hugo.

  3. Continúa a configurar los archivos de configuración del tema.

Configurar los archivos de configuración del tema
#

En la carpeta raíz de tu sitio web, elimina el archivo hugo.toml que fue generado por Hugo. Copia los archivos de configuración *.toml del tema a tu carpeta config/_default/. Esto garantiza que tengas todas las configuraciones correctas del tema y facilita su personalización.

Nota: No sobreescribas el archivo module.toml si ya existe uno en tu proyecto.

Dependiendo de cómo instalaste el tema, los archivos de configuración estarán en diferentes ubicaciones:

  • Módulos de Hugo: En el directorio caché de Hugo, o descarga una copia desde GitHub
  • Submódulo de Git o instalación manual: themes/blowfish/config/_default

Una vez que hayas copiado los archivos, tu carpeta de configuración debería verse así:

config/_default/
├─ hugo.toml
├─ languages.en.toml
├─ markup.toml
├─ menus.en.toml
├─ module.toml  # solo si instalaste usando Módulos de Hugo
└─ params.toml
Importante: Si no usaste Módulos de Hugo para instalar Blowfish, debes añadir la línea theme = "blowfish" al principio de tu archivo hugo.toml.

Próximos pasos
#

Después de instalar Blowfish, construye y sirve tu sitio siguiendo la serie de YouTube “Cradle to Grave R” de Mark Gingrass (Cradle to Grave R), específicamente su tutorial “R Hugo Website”. Sus explicaciones comprensivas y bien estructuradas son un excelente recurso para este flujo de trabajo. Una vez que tu sitio esté en marcha, podrás configurarlo según tus necesidades.


Instalar actualizaciones
#

De vez en cuando se publican nuevas versiones que aplican correcciones y añaden nueva funcionalidad al tema. Para aprovechar estos cambios, deberás actualizar los archivos del tema en tu sitio web.

El proceso depende del método de instalación que elegiste originalmente. Las instrucciones para cada método se encuentran a continuación.

Actualizar usando git
#

Los submódulos de Git se pueden actualizar con un único comando git. Ejecuta lo siguiente y la última versión del tema se descargará en tu repositorio local:

git submodule update --remote --merge

Una vez actualizado el submódulo, reconstruye tu sitio y verifica que todo funcione correctamente.

Actualizar usando Hugo
#

Hugo hace que la actualización de módulos sea sencilla. Navega al directorio de tu proyecto y ejecuta:

hugo mod get -u

Hugo actualizará automáticamente los módulos necesarios inspeccionando tus archivos module.toml y go.mod. Si encuentras algún problema, verifica que estos archivos estén configurados correctamente.

Reconstruye tu sitio y confirma que todo funcione correctamente.

Actualizar manualmente
#

Actualizar Blowfish manualmente requiere descargar la última copia del tema y reemplazar la versión antigua en tu proyecto.

Cualquier personalización local que hayas realizado en los archivos del tema se perderá durante este proceso.
  1. Descarga la última versión del código fuente del tema.

    Descargar desde Github
  2. Extrae el archivo, renombra la carpeta a blowfish y muévela al directorio themes/ dentro de la carpeta raíz de tu proyecto Hugo, sobreescribiendo el directorio existente para reemplazar todos los archivos del tema.

  3. Reconstruye tu sitio y verifica que todo funcione correctamente.

Autor
William Cruz
CTO Apex Fintech