<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Bastián Olea Herrera on Bastián Olea</title>
    <link>https://bastianolea.rbind.io/</link>
    <description>Recent content in Bastián Olea Herrera on Bastián Olea</description>
    <generator>Hugo</generator>
    <language>es-ES</language>
    <lastBuildDate>Sat, 27 Jun 2026 00:00:00 +0000</lastBuildDate>
    <atom:link href="https://bastianolea.rbind.io/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Primer paso: instalar R</title>
      <link>https://bastianolea.rbind.io/blog/r_introduccion/instalar_r/</link>
      <pubDate>Thu, 07 Nov 2024 00:00:00 +0000</pubDate>
      <guid>https://bastianolea.rbind.io/blog/r_introduccion/instalar_r/</guid>
      <description>&lt;p&gt;Para adentrarte en el mundo del análisis de datos, la visualización de datos, y la programación, el primer paso es &lt;strong&gt;instalar R&lt;/strong&gt;, el lenguaje de programación estadística, e &lt;strong&gt;instalar RStudio&lt;/strong&gt;, la interfaz que nos va a permitir trabajar con el lenguaje.&lt;/p&gt;&#xA;&lt;p&gt;R, como cualquier otro lenguaje de programación, suele usarse &lt;em&gt;dentro&lt;/em&gt; de otros programas que te ayudan a usarlo; en este caso, el entorno de desarrollo RStudio.&lt;/p&gt;&#xA;&lt;div style=&#34;display: flex; align-items: center; gap: 15px; padding: 14px; &#xA;            /*background-color: #A985C650;*/&#xA;            background-color: #DEC4F2;&#xA;            border-radius: 6px;&#xA;            margin: 20px 40px 20px 40px;&#34;&gt;&#xA;  &#xA;  &lt;div style=&#34;flex-shrink: 0;&#34;&gt;&#xA;    &lt;i class=&#34;fas fa-info-circle&#34; style=&#34;font-size: 130%; margin-left: 2px; opacity: 1; color: #9069C0;&#34;&gt;&lt;/i&gt;&#xA;  &lt;/div&gt;&#xA;  &#xA;  &lt;aside style = &#34;font-size: 90%;&#34;&gt;&#xA;    Es importante entender que R es el lenguaje que necesitamos tener instalado, pero &lt;strong&gt;RStudio es la aplicación que usaremos&lt;/strong&gt; día a día para aprender y trabajar con datos.&#xA;  &lt;/aside&gt;&#xA;  &#xA;&lt;/div&gt;&#xA;&#xA;&#xA;&#xA;&#xA;&lt;h3 id=&#34;1-descargar-e-instalar-r&#34;&gt;1. Descargar e instalar R&#xA;  &lt;a href=&#34;#1-descargar-e-instalar-r&#34;&gt;&lt;svg class=&#34;anchor-symbol&#34; aria-hidden=&#34;true&#34; height=&#34;26&#34; width=&#34;26&#34; viewBox=&#34;0 0 22 22&#34; xmlns=&#34;http://www.w3.org/2000/svg&#34;&gt;&#xA;      &lt;path d=&#34;M0 0h24v24H0z&#34; fill=&#34;currentColor&#34;&gt;&lt;/path&gt;&#xA;      &lt;path d=&#34;M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76.0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71.0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71.0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76.0 5-2.24 5-5s-2.24-5-5-5z&#34;&gt;&lt;/path&gt;&#xA;    &lt;/svg&gt;&lt;/a&gt;&#xA;&lt;/h3&gt;&#xA;&lt;p&gt;R es el lenguaje de programación y análisis estadístico base, el cual se caracteriza por operar mediante paquetes o librerías que expanden sus prestaciones.&lt;/p&gt;</description>
    </item>
    <item>
      <title>¿Por qué usar R?</title>
      <link>https://bastianolea.rbind.io/blog/r_introduccion/por_que_r/</link>
      <pubDate>Thu, 07 Nov 2024 00:00:00 +0000</pubDate>
      <guid>https://bastianolea.rbind.io/blog/r_introduccion/por_que_r/</guid>
      <description>&lt;p&gt;&lt;em&gt;¿Por qué usar R para analizar datos?&lt;/em&gt;&lt;/p&gt;&#xA;&lt;p&gt;Analizar datos mediante lenguajes de programación (como R u otros) puede sonar complicado, pero trae muchos beneficios para tu análisis.&lt;/p&gt;&#xA;&#xA;&#xA;&#xA;&#xA;&lt;h3 id=&#34;usabilidad&#34;&gt;Usabilidad&#xA;  &lt;a href=&#34;#usabilidad&#34;&gt;&lt;svg class=&#34;anchor-symbol&#34; aria-hidden=&#34;true&#34; height=&#34;26&#34; width=&#34;26&#34; viewBox=&#34;0 0 22 22&#34; xmlns=&#34;http://www.w3.org/2000/svg&#34;&gt;&#xA;      &lt;path d=&#34;M0 0h24v24H0z&#34; fill=&#34;currentColor&#34;&gt;&lt;/path&gt;&#xA;      &lt;path d=&#34;M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76.0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71.0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71.0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76.0 5-2.24 5-5s-2.24-5-5-5z&#34;&gt;&lt;/path&gt;&#xA;    &lt;/svg&gt;&lt;/a&gt;&#xA;&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;em&gt;Facilidad de uso:&lt;/em&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;A diferencia de otros lenguajes de programación, R está diseñado por y para personas que no se especializan en computación ni informática, sino que se enfoca en profesionales de distintas áreas que requieren aplicar técnicas computacionales a sus disciplinas. Por lo tanto, suele ser más sencillo de usar que otros lenguajes, y por sobre todo más &amp;ldquo;legible&amp;rdquo; que otros lenguajes, en el sentido de que la sintaxis de R es fácilmente interpretable como instrucciones en lenguaje natural, una vez que entiendes las reglas básicas para escribirlo y leerlo. Por lo demás, cada función del lenguaje está ampliamente documentada, y existe una gran comunidad de usuarios y usuarios con mucha disposición para ayudar y enseñar.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;em&gt;Análisis estadísticos complejos:&lt;/em&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;R es una herramienta poderosa para realizar análisis estadísticos complejos, como aplicar modelos estadísticos a tus datos, herramientas de &lt;em&gt;machine learning,&lt;/em&gt; o análisis estadísticos sofisticados. Muchas de estas herramientas vienen por defecto en R, y muchísimas otras son fácilmente instalables mediante paquetes.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;em&gt;Visualizaciones de datos:&lt;/em&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;R cuenta con una amplia variedad de herramientas para visualizar datos. El paquete &lt;code&gt;{ggplot2}&lt;/code&gt; permite crear gráficos personalizables y complejos con una sintaxis clara y concisa, basada en capas. Puedes explorar visualmente tus datos en cuestión de segundos, o producir visualizaciones complejas y atractivas si lo requieres.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;em&gt;Velocidad:&lt;/em&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Con R puedes procesar bases de datos de millones o miles de millones de filas. Existen múltiples estrategias para trabajar con grandes volúmenes de datos en R, y puedes elegir la que más te convenga en cada situación para encontrar el equilibrio entre desempeño y conveniencia que desees.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&#xA;&#xA;&#xA;&lt;h3 id=&#34;flujos-de-trabajo&#34;&gt;Flujos de trabajo&#xA;  &lt;a href=&#34;#flujos-de-trabajo&#34;&gt;&lt;svg class=&#34;anchor-symbol&#34; aria-hidden=&#34;true&#34; height=&#34;26&#34; width=&#34;26&#34; viewBox=&#34;0 0 22 22&#34; xmlns=&#34;http://www.w3.org/2000/svg&#34;&gt;&#xA;      &lt;path d=&#34;M0 0h24v24H0z&#34; fill=&#34;currentColor&#34;&gt;&lt;/path&gt;&#xA;      &lt;path d=&#34;M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76.0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71.0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71.0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76.0 5-2.24 5-5s-2.24-5-5-5z&#34;&gt;&lt;/path&gt;&#xA;    &lt;/svg&gt;&lt;/a&gt;&#xA;&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;em&gt;Tener todo tu proyecto a la vista:&lt;/em&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;En vez de pensar el procesamiento de datos y la obtención de resultados como un proceso continuo o una sucesión de pasos que realizamos uno después del otro, desde los datos iniciales hasta el producto final, vemos el proceso como una iteración de pasos que van aumentando su complejidad en cada etapa, y donde se puede ir optimizando cada fase del mismo.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;No vas a tener que repetir cosas que ya has hecho: tendrás flujos de trabajo que puedes reutilizar con distintas fuentes de datos, distintas versiones de los datos, o variaciones en los cálculos. Esto te permite experimentar e iterar.&lt;/li&gt;&#xA;&lt;li&gt;Tus proyectos tendrán entradas y salidas claras. Podrás cambiar las entradas de datos sin tener que deshacer el trabajo que ya has hecho.&lt;/li&gt;&#xA;&lt;li&gt;Como vas procesando datos por pasos, siempre puedes cambiar un paso anterior y aplicar los cambios a los pasos siguientes, o hacer cambios en pasos intermedios y volver a obtener los nuevos resultados.&lt;/li&gt;&#xA;&lt;li&gt;Flexibilidad en tecnologías y métodos: un mismo proceso puede ser fácilmente actualizado para usar una tecnología que mejore su desempeño; por ejemplo, pasar de leer un Excel a consultar una base de datos relacional como SQL.&lt;/li&gt;&#xA;&lt;li&gt;&lt;em&gt;Podrás basarte en el progreso de otros:&lt;/em&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;La comunidad de estadísticos, analistas de datos, científicos de datos, geógrafos, y otros profesionales que usan R, usualmente comparten sus proyectos, herramientas y código. Puedes basarte en eso para aplicarlo a tus necesidades.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&#xA;&#xA;&#xA;&lt;h3 id=&#34;procesos-reutilizables&#34;&gt;Procesos reutilizables&#xA;  &lt;a href=&#34;#procesos-reutilizables&#34;&gt;&lt;svg class=&#34;anchor-symbol&#34; aria-hidden=&#34;true&#34; height=&#34;26&#34; width=&#34;26&#34; viewBox=&#34;0 0 22 22&#34; xmlns=&#34;http://www.w3.org/2000/svg&#34;&gt;&#xA;      &lt;path d=&#34;M0 0h24v24H0z&#34; fill=&#34;currentColor&#34;&gt;&lt;/path&gt;&#xA;      &lt;path d=&#34;M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76.0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71.0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71.0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76.0 5-2.24 5-5s-2.24-5-5-5z&#34;&gt;&lt;/path&gt;&#xA;    &lt;/svg&gt;&lt;/a&gt;&#xA;&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;em&gt;Si lo haces una vez, puedes hacerlo 100 veces:&lt;/em&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Introducción al lenguaje de programación R</title>
      <link>https://bastianolea.rbind.io/blog/r_introduccion/r_basico/</link>
      <pubDate>Sat, 16 Nov 2024 00:00:00 +0000</pubDate>
      <guid>https://bastianolea.rbind.io/blog/r_introduccion/r_basico/</guid>
      <description>&lt;h2 id=&#34;introducción-a-r&#34;&gt;Introducción a R&#xA;  &lt;a href=&#34;#introducci%c3%b3n-a-r&#34;&gt;&lt;svg class=&#34;anchor-symbol&#34; aria-hidden=&#34;true&#34; height=&#34;26&#34; width=&#34;26&#34; viewBox=&#34;0 0 22 22&#34; xmlns=&#34;http://www.w3.org/2000/svg&#34;&gt;&#xA;      &lt;path d=&#34;M0 0h24v24H0z&#34; fill=&#34;currentColor&#34;&gt;&lt;/path&gt;&#xA;      &lt;path d=&#34;M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76.0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71.0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71.0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76.0 5-2.24 5-5s-2.24-5-5-5z&#34;&gt;&lt;/path&gt;&#xA;    &lt;/svg&gt;&lt;/a&gt;&#xA;&lt;/h2&gt;&#xA;&lt;p&gt;Esta guía contiene instrucciones paso a paso para aprender los aspectos más básicos del lenguaje R. Va dirigida a personas sin ningún conocimiento previo de R, así que si quieres aprender R desde cero, ¡sigue este tutorial!&lt;/p&gt;&#xA;&lt;p&gt;Si sigues estas instrucciones de principio a fin, aprenderás a: trabajar con el programa RStudio, a gestionar tus scripts para el análisis, a realizar las primeras operaciones matemáticas, a comprender los distintos tipos de datos que existen en R, y a manejar las operaciones fundamentales para todo análisis posterior, ya sea básico o avanzado: objetos, comparaciones, asignaciones, vectores, y funciones.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Herramientas básicas para programar con R</title>
      <link>https://bastianolea.rbind.io/blog/r_introduccion/r_intermedio/</link>
      <pubDate>Fri, 14 Feb 2025 00:00:00 +0000</pubDate>
      <guid>https://bastianolea.rbind.io/blog/r_introduccion/r_intermedio/</guid>
      <description>&lt;p&gt;Esta es la segunda guía introductoria para aprender el lenguaje de programación R orientado al análisis de datos. &#xA;&lt;a href=&#34;../../../../blog/r_introduccion/r_basico/&#34;&gt;En la guía anterior vimos los principios más fundamentales del lenguaje R&lt;/a&gt;, para familiarizarnos con R y entender su funcionamiento básico. En esta segunda guía, seguiremos puliendo nuestros aprendizajes para aprender herramientas de programación poderosas que flexibilizarán mucho nuestras capacidades de análisis de datos, abriendo infinitas posibilidades.&lt;/p&gt;&#xA;&lt;p&gt;En esta guía, aprenderemos herramientas que nos permitirán a:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Aprendiendo a usar conectores o _pipes_</title>
      <link>https://bastianolea.rbind.io/blog/r_introduccion/conectores/</link>
      <pubDate>Mon, 24 Nov 2025 00:00:00 +0000</pubDate>
      <guid>https://bastianolea.rbind.io/blog/r_introduccion/conectores/</guid>
      <description>&lt;script src=&#34;conectores_files/libs/bslib-component-js-0.9.0/components.min.js&#34;&gt;&lt;/script&gt;&#xA;&lt;script src=&#34;conectores_files/libs/bslib-component-js-0.9.0/web-components.min.js&#34; type=&#34;module&#34;&gt;&lt;/script&gt;&#xA;&lt;link href=&#34;conectores_files/libs/bslib-component-css-0.9.0/components.css&#34; rel=&#34;stylesheet&#34; /&gt;&#xA;&lt;link href=&#34;conectores_files/libs/htmltools-fill-0.5.8.1/fill.css&#34; rel=&#34;stylesheet&#34; /&gt;&#xA;&lt;script src=&#34;conectores_files/libs/bslib-tag-require-0.9.0/tag-require.js&#34;&gt;&lt;/script&gt;&#xA;&lt;p&gt;Los conectores o &lt;em&gt;pipes&lt;/em&gt; son símbolos que nos permiten &lt;strong&gt;encadenar varias operaciones&lt;/strong&gt;. En inglés, &lt;em&gt;pipe&lt;/em&gt; significa literalmente &amp;ldquo;tubería&amp;rdquo;, porque la idea es que los datos fluyan a través de una serie de pasos.&lt;/p&gt;&#xA;&lt;p&gt;El uso de conectores &lt;strong&gt;facilita la lectura&lt;/strong&gt; del código, porque nos muestra el flujo de las operaciones de forma ordenada y lógica, y también &lt;strong&gt;simplifica la escritura&lt;/strong&gt;, porque nos hace escribir en el mismo orden lógico que pensamos las operaciones, y porque además nos permite reordenar, comentar, agregar o eliminar pasos.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Organizar el trabajo en Proyectos de RStudio</title>
      <link>https://bastianolea.rbind.io/blog/r_introduccion/proyectos/</link>
      <pubDate>Sat, 04 Jan 2025 00:00:00 +0000</pubDate>
      <guid>https://bastianolea.rbind.io/blog/r_introduccion/proyectos/</guid>
      <description>&lt;h2 id=&#34;proyectos&#34;&gt;Proyectos&#xA;  &lt;a href=&#34;#proyectos&#34;&gt;&lt;svg class=&#34;anchor-symbol&#34; aria-hidden=&#34;true&#34; height=&#34;26&#34; width=&#34;26&#34; viewBox=&#34;0 0 22 22&#34; xmlns=&#34;http://www.w3.org/2000/svg&#34;&gt;&#xA;      &lt;path d=&#34;M0 0h24v24H0z&#34; fill=&#34;currentColor&#34;&gt;&lt;/path&gt;&#xA;      &lt;path d=&#34;M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76.0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71.0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71.0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76.0 5-2.24 5-5s-2.24-5-5-5z&#34;&gt;&lt;/path&gt;&#xA;    &lt;/svg&gt;&lt;/a&gt;&#xA;&lt;/h2&gt;&#xA;&lt;p&gt;Antes de hacer cualquier trabajo que involucre datos con R, &lt;strong&gt;se recomienda crear un &lt;em&gt;Proyecto&lt;/em&gt; de RStudio&lt;/strong&gt;. Un proyecto es una forma de definir la carpeta específica donde vamos a guardar todos los scripts y archivos que vamos a necesitar. Se caracteriza por un archivo que termina en &lt;code&gt;.Rproj&lt;/code&gt;, que marca nuestro espacio de trabajo: &lt;strong&gt;una sola carpeta que reúne todas las piezas de nuestro análisis.&lt;/strong&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Introducción al manejo de datos con {dplyr}</title>
      <link>https://bastianolea.rbind.io/blog/r_introduccion/dplyr_intro/</link>
      <pubDate>Sat, 15 Feb 2025 00:00:00 +0000</pubDate>
      <guid>https://bastianolea.rbind.io/blog/r_introduccion/dplyr_intro/</guid>
      <description>&lt;p&gt;Luego de haber aprendido las &#xA;&lt;a href=&#34;../../../../blog/r_introduccion/r_basico/&#34;&gt;funcionalidades básicas del lenguaje R&lt;/a&gt;, y habernos familiarizado con &#xA;&lt;a href=&#34;../../../../blog/r_introduccion/r_intermedio/&#34;&gt;herramientas un poco más avanzadas de la programación&lt;/a&gt; en este lenguaje, ahora podemos aplicar estos aprendizajes a los datos. Aprenderemos a explorar, comprender, y navegar tablas de datos, tanto en la forma nativa de trabajar con R, como con la ayuda del paquete {dplyr}.&lt;/p&gt;&#xA;&#xA;&#xA;&#xA;&#xA;&lt;h2 id=&#34;dplyr&#34;&gt;&lt;code&gt;{dplyr}&lt;/code&gt;&#xA;  &lt;a href=&#34;#dplyr&#34;&gt;&lt;svg class=&#34;anchor-symbol&#34; aria-hidden=&#34;true&#34; height=&#34;26&#34; width=&#34;26&#34; viewBox=&#34;0 0 22 22&#34; xmlns=&#34;http://www.w3.org/2000/svg&#34;&gt;&#xA;      &lt;path d=&#34;M0 0h24v24H0z&#34; fill=&#34;currentColor&#34;&gt;&lt;/path&gt;&#xA;      &lt;path d=&#34;M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76.0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71.0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71.0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76.0 5-2.24 5-5s-2.24-5-5-5z&#34;&gt;&lt;/path&gt;&#xA;    &lt;/svg&gt;&lt;/a&gt;&#xA;&lt;/h2&gt;&#xA;&lt;img src = dplyr.png style = &#34;float: left; max-width: 128px; margin-right: 20px;&#34;&gt;&#xA;&lt;p&gt;La herramienta que utilizaremos para explorar, manipular, y transformar datos será &#xA;&lt;a href=&#34;https://dplyr.tidyverse.org/articles/dplyr.html&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;el paquete &lt;code&gt;{dplyr}&lt;/code&gt;&lt;/a&gt;. Este paquete, parte central del &#xA;&lt;a href=&#34;https://www.tidyverse.org&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;conjunto &lt;em&gt;Tidyverse&lt;/em&gt; de herramientas para el análisis de datos con R&lt;/a&gt;, es uno de los más usados por la comunidad de R por su facilidad de uso.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Crear variables nuevas con `dplyr::mutate()`</title>
      <link>https://bastianolea.rbind.io/blog/r_introduccion/dplyr_mutate/</link>
      <pubDate>Thu, 11 Dec 2025 00:00:00 +0000</pubDate>
      <guid>https://bastianolea.rbind.io/blog/r_introduccion/dplyr_mutate/</guid>
      <description>&lt;p&gt;En esta ocasión veremos la función que nos permite &lt;strong&gt;crear variables nuevas&lt;/strong&gt;, a partir de los aprendizajes sobre manipulación de datos que vimos &#xA;&lt;a href=&#34;../../../../blog/r_introduccion/dplyr_intro/&#34;&gt;en tutoriales anteriores&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;p&gt;Para &lt;strong&gt;crear variables nuevas&lt;/strong&gt;, o &lt;strong&gt;transformar variables existentes&lt;/strong&gt;, usaremos la función &lt;code&gt;mutate()&lt;/code&gt;, que forma parte del paquete &lt;code&gt;{dplyr}&lt;/code&gt;.&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&#34;featured.png&#34; target=&#34;_blank&#34;&gt;&#xA;&#xA;  &lt;img src=&#34;featured.png&#34; style=&#39;border-radius: 5px; width: 200px; display: block; margin: auto; margin-bottom: 8px; margin-top: 8px;&#39;&gt;&#xA;  &#xA;&lt;/a&gt;&#xA;&lt;figcaption style=&#34;max-width: 380px; margin:auto; text-align: center; font-size:80%; opacity:60%; margin-top:-8px; margin-bottom: 24px;&#34;&gt;&#xA;  Esquema de la creación de una columna a partir de dos columnas existentes: la tercera columna es la suma de las dos anteriores&#xA;&lt;/figcaption&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Calcular resúmenes de datos con `dplyr::summarize()`</title>
      <link>https://bastianolea.rbind.io/blog/r_introduccion/dplyr_summarize/</link>
      <pubDate>Sun, 14 Dec 2025 00:00:00 +0000</pubDate>
      <guid>https://bastianolea.rbind.io/blog/r_introduccion/dplyr_summarize/</guid>
      <description>&lt;p&gt;En el &#xA;&lt;a href=&#34;../../../../blog/r_introduccion/dplyr_intro/&#34;&gt;tutorial de introducción a &lt;code&gt;{dplyr}&lt;/code&gt;&lt;/a&gt; aprendimos a ordenar, seleccionar, y filtrar datos tabulares. Con estas operaciones básicas deberíamos poder desenvolvernos con tablas de datos.&lt;/p&gt;&#xA;&lt;p&gt;Luego aprendimos a &lt;strong&gt;crear y modificar variables&lt;/strong&gt; con &#xA;&lt;a href=&#34;../../../../blog/r_introduccion/dplyr_mutate/&#34;&gt;la función &lt;code&gt;mutate()&lt;/code&gt; de &lt;code&gt;{dplyr}&lt;/code&gt;&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;p&gt;Ahora veremos cómo &lt;strong&gt;calcular resúmenes de datos&lt;/strong&gt;. Con esto nos referimos a tomar todas las observaciones o filas de una tabla, y aplicar algún cálculo para &lt;strong&gt;reducir todas las filas a un solo dato&lt;/strong&gt;. Esto sirve, por ejemplo, para calcular la suma o el promedio de una columna, y para calcular &#xA;&lt;a href=&#34;../../../../blog/estadisticos_descriptivos/&#34;&gt;estadísticos descriptivos&lt;/a&gt;.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Transformación de datos entre formato _ancho_ y _largo_ con {tidyr}</title>
      <link>https://bastianolea.rbind.io/blog/r_introduccion/tidyr_pivotar/</link>
      <pubDate>Sat, 29 Nov 2025 00:00:00 +0000</pubDate>
      <guid>https://bastianolea.rbind.io/blog/r_introduccion/tidyr_pivotar/</guid>
      <description>&lt;p&gt;Los datos pueden existir en distintos formatos o estructuras, y el poder &lt;strong&gt;transformar los datos entre distintas estructuras&lt;/strong&gt; es una habilidad clave.&lt;/p&gt;&#xA;&lt;a href=&#34;featured.png&#34; target=&#34;_blank&#34;&gt;&#xA;&#xA;  &lt;img src=&#34;featured.png&#34; style=&#34;border-radius: 5px; width: 80%; max-width: 700px; display: block; margin: auto; margin-bottom: 8px; margin-top: 8px;&#34;&gt;&#xA;  &#xA;&lt;/a&gt;&#xA;&lt;p&gt;En este tutorial aprenderemos a usar las funciones &lt;code&gt;pivot_longer()&lt;/code&gt; y &lt;code&gt;pivot_wider()&lt;/code&gt; del &#xA;&lt;a href=&#34;https://tidyr.tidyverse.org/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;paquete &lt;code&gt;{tidyr}&lt;/code&gt;&lt;/a&gt; para cambiar entre formatos de datos &lt;em&gt;ancho&lt;/em&gt; (&lt;em&gt;wide&lt;/em&gt;) y &lt;em&gt;largo&lt;/em&gt; (&lt;em&gt;long&lt;/em&gt;).&lt;/p&gt;&#xA;&lt;div style = &#34;margin-left: -16px;&#34;&gt;&#xA;  &#xA;  &lt;details closed id=&#34;PageTableOfContents&#34;&gt;&#xA;    &lt;summary&gt;&#xA;      &lt;h2 class=&#34;mv0 f5 fw7 ttu tracked dib&#34; style = &#34;margin-left: 6px; font-size: 120%;&#34;&gt;Índice&lt;/h2&gt;&#xA;      &lt;/summary&gt;&#xA;    &lt;div class=&#34;pl2 pr0 mh0&#34; style = &#34;font-size: 90%; margin-top: -8px; margin-left: 16px; margin-bottom: 32px;&#34;&gt;&#xA;    &lt;nav id=&#34;TableOfContents&#34;&gt;&#xA;  &lt;ul&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;#formatos-de-datos&#34;&gt;Formatos de datos&lt;/a&gt;&#xA;      &lt;ul&gt;&#xA;        &lt;li&gt;&lt;a href=&#34;#datos-en-formato-ancho&#34;&gt;Datos en formato ancho&lt;/a&gt;&lt;/li&gt;&#xA;        &lt;li&gt;&lt;a href=&#34;#datos-en-formato-largo&#34;&gt;Datos en formato largo&lt;/a&gt;&lt;/li&gt;&#xA;      &lt;/ul&gt;&#xA;    &lt;/li&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;#transformación-de-formatos&#34;&gt;Transformación de formatos&lt;/a&gt;&#xA;      &lt;ul&gt;&#xA;        &lt;li&gt;&lt;a href=&#34;#desde-ancho-hacia-largo&#34;&gt;Desde ancho hacia largo&lt;/a&gt;&lt;/li&gt;&#xA;        &lt;li&gt;&lt;a href=&#34;#desde-largo-hacia-ancho&#34;&gt;Desde largo hacia ancho&lt;/a&gt;&lt;/li&gt;&#xA;      &lt;/ul&gt;&#xA;    &lt;/li&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;#cuándo-usar-cada-formato&#34;&gt;¿Cuándo usar cada formato?&lt;/a&gt;&lt;/li&gt;&#xA;  &lt;/ul&gt;&#xA;&lt;/nav&gt;&#xA;    &lt;/div&gt;&#xA;  &lt;/details&gt;&#xA;  &#xA;&lt;/div&gt;&#xA;&#xA;&#xA;&#xA;&#xA;&lt;h2 id=&#34;formatos-de-datos&#34;&gt;Formatos de datos&#xA;  &lt;a href=&#34;#formatos-de-datos&#34;&gt;&lt;svg class=&#34;anchor-symbol&#34; aria-hidden=&#34;true&#34; height=&#34;26&#34; width=&#34;26&#34; viewBox=&#34;0 0 22 22&#34; xmlns=&#34;http://www.w3.org/2000/svg&#34;&gt;&#xA;      &lt;path d=&#34;M0 0h24v24H0z&#34; fill=&#34;currentColor&#34;&gt;&lt;/path&gt;&#xA;      &lt;path d=&#34;M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76.0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71.0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71.0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76.0 5-2.24 5-5s-2.24-5-5-5z&#34;&gt;&lt;/path&gt;&#xA;    &lt;/svg&gt;&lt;/a&gt;&#xA;&lt;/h2&gt;&#xA;&lt;p&gt;No existe una forma estandarizada de estructurar los datos. La estructura o formato que tengan los datos va a depender de muchas cosas: de dónde provienen los datos, para que se van a usar los datos, etc. Dependiendo de estas distintas necesidades los datos se pueden estructurar distintos.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Tutorial: introducción a {dplyr} con datos de población</title>
      <link>https://bastianolea.rbind.io/blog/r_introduccion/tutorial_dplyr_censo/</link>
      <pubDate>Fri, 08 Nov 2024 00:00:00 +0000</pubDate>
      <guid>https://bastianolea.rbind.io/blog/r_introduccion/tutorial_dplyr_censo/</guid>
      <description>&lt;p&gt;Este post es una introducción al paquete &lt;code&gt;{dplyr}&lt;/code&gt; para la exploración y análisis de datos con R. Está dirigido a principiantes de R. Si es primera vez que usas R, te recomiendo revisar primero &#xA;&lt;a href=&#34;../../../../blog/r_introduccion/r_basico/&#34;&gt;este breve tutorial inicial de R.&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;p&gt;&lt;em&gt;En este tutorial veremos:&lt;/em&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;carga de datos de Excel&lt;/li&gt;&#xA;&lt;li&gt;seleccionar columnas&lt;/li&gt;&#xA;&lt;li&gt;ordenar tablas de datos&lt;/li&gt;&#xA;&lt;li&gt;seleccionar filas de una tabla de datos&lt;/li&gt;&#xA;&lt;li&gt;filtrar datos&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;Los datos usados en este tutorial son las &#xA;&lt;a href=&#34;https://www.ine.gob.cl/estadisticas/sociales/demografia-y-vitales/proyecciones-de-poblacion&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Proyecciones de población para 2024 de Chile&lt;/a&gt;, calculadas por el Instituto Nacional de Estadísticas (INE). La obtención, procesamiento y visualización de estos datos puede encontrarse &#xA;&lt;a href=&#34;https://github.com/bastianolea/censo_proyecciones_poblacion&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;en este repositorio,&lt;/a&gt; junto a una &#xA;&lt;a href=&#34;https://github.com/bastianolea/censo_proyecciones&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;aplicación web desarrollada en R para visualizar los datos&lt;/a&gt;.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Tutorial: introducción a {dplyr} usando datos de campamentos</title>
      <link>https://bastianolea.rbind.io/blog/r_introduccion/tutorial_dplyr_campamentos/</link>
      <pubDate>Sat, 09 Nov 2024 00:00:00 +0000</pubDate>
      <guid>https://bastianolea.rbind.io/blog/r_introduccion/tutorial_dplyr_campamentos/</guid>
      <description>&lt;p&gt;Este post es una introducción al paquete &lt;code&gt;{dplyr}&lt;/code&gt; para la exploración y análisis de datos con R. Está dirigido a principiantes de R. Si es primera vez que usas R, te recomiendo revisar primero &#xA;&lt;a href=&#34;../../../../blog/r_introduccion/r_basico/&#34;&gt;este breve tutorial inicial de R.&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;p&gt;&lt;em&gt;En este tutorial veremos:&lt;/em&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;carga de datos de Excel&lt;/li&gt;&#xA;&lt;li&gt;revisar los datos&lt;/li&gt;&#xA;&lt;li&gt;seleccionar columnas&lt;/li&gt;&#xA;&lt;li&gt;ordenar tablas de datos&lt;/li&gt;&#xA;&lt;li&gt;contar frecuencias&lt;/li&gt;&#xA;&lt;li&gt;filtrar datos&lt;/li&gt;&#xA;&lt;li&gt;crear variables dicotómicas&lt;/li&gt;&#xA;&lt;li&gt;crear variables complejas&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;Los datos usados en este tutorial corresponden al catastro de campamentos de Chile 2024, del &#xA;&lt;a href=&#34;https://geoportal-open-data-minvu-2-minvu.hub.arcgis.com/datasets/MINVU::actualizacion-catastro-campamentos-2024-1/about&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Centro de Estudios del Ministerio de Vivienda y Urbanismo.&lt;/a&gt;. El código para obtener, procesar y visualizar los datos &#xA;&lt;a href=&#34;https://github.com/bastianolea/campamentos_chile&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;se encuentra en este repositorio de GitHub.&lt;/a&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Tutorial: visualización de datos con {ggplot2}</title>
      <link>https://bastianolea.rbind.io/blog/r_introduccion/tutorial_visualizacion_ggplot/</link>
      <pubDate>Fri, 21 Mar 2025 00:00:00 +0000</pubDate>
      <guid>https://bastianolea.rbind.io/blog/r_introduccion/tutorial_visualizacion_ggplot/</guid>
      <description>&lt;a href=&#34;ggplot2-featured.jpg&#34; target=&#34;_blank&#34;&gt;&#xA;&#xA;  &lt;img src=&#34;ggplot2-featured.jpg&#34; style=&#34;border-radius: 5px; width: 80%; max-width: 700px; display: block; margin: auto; margin-bottom: 8px; margin-top: 8px;&#34;&gt;&#xA;  &#xA;&lt;/a&gt;&#xA;&lt;p&gt;&lt;code&gt;{ggplot2}&lt;/code&gt; es una librería de visualización de datos bastante popular en el mundo de la ciencia de datos. Sus principales características son su atractivo, su conveniencia para la exploración de datos, un gran potencial de personalización, y un extenso ecosistema de extensiones que nos permiten generar visualizaciones prácticamente de cualquier tipo.&lt;/p&gt;&#xA;&lt;p&gt;Otro beneficio de usarlo es propio de el uso de cualquier herramienta programática para generar resultados en el ámbito del análisis de datos: la reusabilidad del código, que nos permite especificar una sola vez el resultado que queremos y luego volver a aplicarlo infinitas veces con distintos datos, datos actualizados, o variaciones de un conjunto de datos, etc.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Tutorial: introducción al desarrollo de apps con Shiny</title>
      <link>https://bastianolea.rbind.io/blog/r_introduccion/tutorial_shiny_1/</link>
      <pubDate>Fri, 08 Nov 2024 00:00:00 +0000</pubDate>
      <guid>https://bastianolea.rbind.io/blog/r_introduccion/tutorial_shiny_1/</guid>
      <description>&lt;div style=&#34;display: flex; align-items: center; gap: 15px; padding: 14px; &#xA;            background-color: #493365;&#xA;            border-radius: 6px;&#xA;            margin: 20px 40px 20px 40px;&#34;&gt;&#xA;  &#xA;  &lt;div style=&#34;flex-shrink: 0;&#34;&gt;&#xA;    &lt;i class=&#34;fas fa-triangle-exclamation&#34; style=&#34;font-size: 130%; margin-left: 2px; opacity: 1; color: #EAD2FA;&#34;&gt;&lt;/i&gt;&#xA;  &lt;/div&gt;&#xA;  &#xA;  &lt;aside style = &#34;font-size: 90%; color: #EAD2FA;&#34;&gt;&#xA;    Existe una &#xA;&lt;a href=&#34;https://bastianolea.rbind.io/blog/shiny/&#34;&gt;versión mucho más completa&lt;/a&gt; de este tutorial! &#xA;&lt;a href=&#34;https://bastianolea.rbind.io/blog/shiny/&#34;&gt;Revísala aquí.&lt;/a&gt;&#xA;  &lt;/aside&gt;&#xA;  &#xA;&lt;/div&gt;&#xA;&lt;p&gt;Shiny es un paquete de R que permite crear aplicaciones web interactivas usando sólo código de R. Es muy fácil de aprender, puedes crear cosas interesantes en muy poco tiempo, y tiene la capacidad de &#xA;&lt;a href=&#34;https://bastianolea.rbind.io/apps/&#34;&gt;crear complejas y atractivas aplicaciones.&lt;/a&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Tutorial: publicar una app Shiny en shinyapps.io</title>
      <link>https://bastianolea.rbind.io/blog/r_introduccion/tutorial_shinyapps/</link>
      <pubDate>Thu, 07 Nov 2024 00:00:00 +0000</pubDate>
      <guid>https://bastianolea.rbind.io/blog/r_introduccion/tutorial_shinyapps/</guid>
      <description>&lt;p&gt;¿Desarrollaste una aplicación con Shiny, y quieres compartirla con el mundo? &#xA;&lt;a href=&#34;https://www.shinyapps.io&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;shinyapps.io&lt;/a&gt; es, en mi experiencia, el servicio más sencillo de usar para poder hacer públicas tus aplicaciones Shiny.&lt;/p&gt;&#xA;&lt;p&gt;El primer paso es, lógicamente, tener una app Shiny funcionando. Para asegurarte que tu app funcione sin problemas, acá van soluciones a los errores más frecuentes de las apps Shiny:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Asegúrate de que tus scripts (&lt;code&gt;app.R&lt;/code&gt;, o bien, &lt;code&gt;ui.R&lt;/code&gt; y &lt;code&gt;server.R&lt;/code&gt;) estén todos dentro de una misma carpeta&lt;/li&gt;&#xA;&lt;li&gt;Confirma que los datos que cargue tu app estén en la misma carpeta que tu script, o bien, entro de carpetas que estén al mismo nivel que tus scripts. En otras palabras, si tu app carga datos, las rutas &lt;code&gt;deberían/ser/así.csv&lt;/code&gt; o &lt;code&gt;así.rds&lt;/code&gt;, y no &lt;code&gt;~/users/tu/documents/cosas/app/datos.xlsx&lt;/code&gt; ni tampoco &lt;code&gt;C:\Users\Desktop\app\datos\data.csv&lt;/code&gt;.&lt;/li&gt;&#xA;&lt;li&gt;Reinicia tu sesión de R (Session &amp;gt; Restart R) y confirma que tu aplicación funciona correctamente. Así confirmas que tu app carga todos los paquetes necesarios, y que no depende de algo que estaba en tu entorno de R pero que no era reproducible desde su código.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;Luego, debes crearte una cuenta en &#xA;&lt;a href=&#34;https://www.shinyapps.io&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;shinyapps.io&lt;/a&gt;. Las cuentas gratuitas permiten tener hasta 5 aplicaciones, con 25 horas de uso mensual (en total, entre todos tus usuarios). Ésto es más que suficiente para apps de pruebas y con pocos usuarios, considerando que al superar el límite de horas no te interrumpen imnediatamente el acceso a tu aplicación. El plan inicial (13USD) permite 25 aplicaciones y 1000 horas de uso mensual.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Web scraping con R</title>
      <link>https://bastianolea.rbind.io/blog/web_scraping/</link>
      <pubDate>Thu, 17 Jul 2025 00:00:00 +0000</pubDate>
      <guid>https://bastianolea.rbind.io/blog/web_scraping/</guid>
      <description>&lt;a href=&#34;featured.jpg&#34; target=&#34;_blank&#34;&gt;&#xA;&#xA;  &lt;img src=&#34;featured.jpg&#34; style=&#34;border-radius: 5px; width: 80%; max-width: 700px; display: block; margin: auto; margin-bottom: 8px; margin-top: 8px;&#34;&gt;&#xA;  &#xA;&lt;/a&gt;&#xA;&lt;p&gt;Se denomina &#xA;&lt;a href=&#34;https://bastianolea.rbind.io/tags/web-scraping/&#34;&gt;web scraping&lt;/a&gt; al conjunto de técnicas que permiten &lt;strong&gt;extraer datos e información alojada en páginas web&lt;/strong&gt;, usualmente en formatos que no son fácilmente convertibles a tablas de datos.&lt;/p&gt;&#xA;&lt;p&gt;Al ser R un lenguaje enfocado completamente el análisis de datos, es la plataforma ideal para este tipo de tareas, dado que puedes usar un sólo lenguaje para controlar las herramientas de extracción de datos, programar la lógica para automatizar la extracción, procesar y limpiar los datos, y finalmente analizar y presentar tus resultados.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Tutorial: crear un repositorio Git para tu proyecto de R y comparte tu código en GitHub</title>
      <link>https://bastianolea.rbind.io/blog/r_introduccion/tutorial_github/</link>
      <pubDate>Fri, 07 Feb 2025 00:00:00 +0000</pubDate>
      <guid>https://bastianolea.rbind.io/blog/r_introduccion/tutorial_github/</guid>
      <description>&lt;a href=&#34;titulo_github-featured.png&#34; target=&#34;_blank&#34;&gt;&#xA;&#xA;  &lt;img src=&#34;titulo_github-featured.png&#34; style=&#34;border-radius: 5px; width: 80%; max-width: 700px; display: block; margin: auto; margin-bottom: 8px; margin-top: 8px;&#34;&gt;&#xA;  &#xA;&lt;/a&gt;&#xA;&lt;br&gt;&#xA;&lt;br&gt;&#xA;&lt;p&gt;En este tutorial aprenderás a empezar a usar Git con tus proyectos de R, mediante la creación de repositorios. Git te permite llevar un registro de las versiones y un control de cambios en tu código, mientras que GitHub te permite subir tus repositorios a un servicio online, en el cual puedes compartir tu código con otras personas, descargar el código de otros, y colaborar en un mismo proyecto.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Recursos, blogs y otros sitios sobre R</title>
      <link>https://bastianolea.rbind.io/blog/r_introduccion/recursos_r/</link>
      <pubDate>Fri, 08 Nov 2024 00:00:00 +0000</pubDate>
      <guid>https://bastianolea.rbind.io/blog/r_introduccion/recursos_r/</guid>
      <description>&lt;p&gt;En esta página voy guardando enlaces a sitios web útiles para otros usuarios de R. Si quieres que incluya tu sitio o iniciativa, &#xA;&lt;a href=&#34;https://bastianolea.rbind.io/contacto/&#34;&gt;puedes escribirme.&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&#xA;&#xA;&#xA;&lt;h2 id=&#34;i-classfas-fa-chalkboard-useri-aprender-r&#34;&gt;&lt;i class=&#39;fas fa-chalkboard-user&#39;&gt;&lt;/i&gt; Aprender R&#xA;  &lt;a href=&#34;#i-classfas-fa-chalkboard-useri-aprender-r&#34;&gt;&lt;svg class=&#34;anchor-symbol&#34; aria-hidden=&#34;true&#34; height=&#34;26&#34; width=&#34;26&#34; viewBox=&#34;0 0 22 22&#34; xmlns=&#34;http://www.w3.org/2000/svg&#34;&gt;&#xA;      &lt;path d=&#34;M0 0h24v24H0z&#34; fill=&#34;currentColor&#34;&gt;&lt;/path&gt;&#xA;      &lt;path d=&#34;M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76.0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71.0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71.0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76.0 5-2.24 5-5s-2.24-5-5-5z&#34;&gt;&lt;/path&gt;&#xA;    &lt;/svg&gt;&lt;/a&gt;&#xA;&lt;/h2&gt;&#xA;&lt;p&gt;&lt;em&gt;Sitios con contenido educacional para que aprendas R.&lt;/em&gt;&lt;/p&gt;&#xA;&#xA;&#xA;&#xA;&#xA;&lt;h3 id=&#34;i-classfas-fa-booki-recursos-para-aprender-r&#34;&gt;&lt;i class=&#39;fas fa-book&#39;&gt;&lt;/i&gt; Recursos para aprender R&#xA;  &lt;a href=&#34;#i-classfas-fa-booki-recursos-para-aprender-r&#34;&gt;&lt;svg class=&#34;anchor-symbol&#34; aria-hidden=&#34;true&#34; height=&#34;26&#34; width=&#34;26&#34; viewBox=&#34;0 0 22 22&#34; xmlns=&#34;http://www.w3.org/2000/svg&#34;&gt;&#xA;      &lt;path d=&#34;M0 0h24v24H0z&#34; fill=&#34;currentColor&#34;&gt;&lt;/path&gt;&#xA;      &lt;path d=&#34;M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76.0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71.0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71.0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76.0 5-2.24 5-5s-2.24-5-5-5z&#34;&gt;&lt;/path&gt;&#xA;    &lt;/svg&gt;&lt;/a&gt;&#xA;&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;En mi sitio &lt;strong&gt;&#xA;&lt;a href=&#34;https://bastianolea.github.io/aprende_r/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Aprende R&lt;/a&gt;&lt;/strong&gt; encontrarás todo lo necesario para aprender R de manera autodidacta, incluyendo cuross, tutoriales, libros, y más.&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;a href=&#34;https://bitsandbricks.github.io/ciencia_de_datos_gente_sociable/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Ciencia de Datos para Gente Sociable&lt;/a&gt; 📚 libro introductorio de R enfocado en personas de las ciencias sociales&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;a href=&#34;https://fransofia.github.io/metodos-mgsocio-uah/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Taller de Métodos y Técnicas de Investigación I&lt;/a&gt;, materiales de un curso de sociología sobre aplicación práctica de técnicas estadísticas usando R&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;a href=&#34;https://bastianolea.rbind.io/blog/r_introduccion/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Tutorial de R desde cero&lt;/a&gt;, con niveles &#xA;&lt;a href=&#34;https://bastianolea.rbind.io/blog/r_introduccion/r_basico/&#34;&gt;básico&lt;/a&gt;, &#xA;&lt;a href=&#34;https://bastianolea.rbind.io/blog/r_introduccion/r_intermedio/&#34;&gt;intermedio&lt;/a&gt;, y foco en &#xA;&lt;a href=&#34;https://bastianolea.rbind.io/blog/r_introduccion/dplyr_intro/&#34;&gt;&lt;code&gt;aprender {dplyr}&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;a href=&#34;https://es.r4ds.hadley.nz&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;R para ciencia de datos&lt;/a&gt; 📚 traducción al español del libro &amp;ldquo;R for Data Science&amp;rdquo;, recomendado para entrar a R&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;a href=&#34;https://www.bigbookofr.com/index.html#live-stats&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Big Book of R&lt;/a&gt; 📚 colección de cientos de libros sobre R, organizada por temas&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;a href=&#34;https://www.resourcesdatabase.com&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;R Resource Database&lt;/a&gt;, sitio que compila cientos de recursos para usuarios de R, como tutoriales, información sobre paquetes, y más.&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;a href=&#34;https://r-universe.dev/search&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;R Universe&lt;/a&gt;, plataforma para ayudarte a encontrar y publicar contenido sobre R&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;a href=&#34;https://r-packages.io&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;R Packages&lt;/a&gt;, lista de paquetes de R populares que facilita el acceso a su documentación&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;a href=&#34;https://education.rstudio.com&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;RStudio Education&lt;/a&gt;, recursos oficiales para aprender R (en inglés)&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;a href=&#34;https://posit.co/resources/cheatsheets/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Torpedos o &lt;em&gt;cheat sheets&lt;/em&gt;&lt;/a&gt;, hojas de referencia rápida para recordar aspectos de R y sus paquetes más populares&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;a href=&#34;https://luisdva.github.io/llmsr-book/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Large Language Model tools for R&lt;/a&gt;, Inteligencia artificial y modelos de lenguaje en R&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;a href=&#34;https://learningstatisticswithr.com/book/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Learning statistics with R: A tutorial for psychology students and other beginners&lt;/a&gt; (en inglés)&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;a href=&#34;https://atelierdecodigo.com&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Atelier de código&lt;/a&gt;, sitio para el aprendizaje de ciencia de datos con foco en investigación y docencia&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&#xA;&#xA;&#xA;&lt;h3 id=&#34;i-classfas-fa-chart-linei-visualización-de-datos-en-r&#34;&gt;&lt;i class=&#39;fas fa-chart-line&#39;&gt;&lt;/i&gt; Visualización de datos en R&#xA;  &lt;a href=&#34;#i-classfas-fa-chart-linei-visualizaci%c3%b3n-de-datos-en-r&#34;&gt;&lt;svg class=&#34;anchor-symbol&#34; aria-hidden=&#34;true&#34; height=&#34;26&#34; width=&#34;26&#34; viewBox=&#34;0 0 22 22&#34; xmlns=&#34;http://www.w3.org/2000/svg&#34;&gt;&#xA;      &lt;path d=&#34;M0 0h24v24H0z&#34; fill=&#34;currentColor&#34;&gt;&lt;/path&gt;&#xA;      &lt;path d=&#34;M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76.0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71.0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71.0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76.0 5-2.24 5-5s-2.24-5-5-5z&#34;&gt;&lt;/path&gt;&#xA;    &lt;/svg&gt;&lt;/a&gt;&#xA;&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&#xA;&lt;a href=&#34;https://www.r-graph-gallery.com/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;R Graph Gallery&lt;/a&gt;, galería de gráficos y visualizaciones de datos hechas con R&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;a href=&#34;https://r-charts.com/es/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;R Charts&lt;/a&gt;, galería de gráficos y visualizaciones de datos hechas con R&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;a href=&#34;https://bastianolea.rbind.io/blog/r_introduccion/tutorial_visualizacion_ggplot/&#34;&gt;Tutorial de visualización de datos con &lt;code&gt;{ggplot2}&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;a href=&#34;https://cedricscherer.netlify.app/2019/08/05/a-ggplot2-tutorial-for-beautiful-plotting-in-r/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;A ggplot2 Tutorial for Beautiful Plotting in R&lt;/a&gt;, tutorial recomendado de &lt;code&gt;{ggplot2}&lt;/code&gt; (en inglés)&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;a href=&#34;https://exts.ggplot2.tidyverse.org/gallery/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Galería de extensiones de &lt;code&gt;{ggplot2}&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;a href=&#34;https://juanchiparra.github.io/data-folks/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Data Folks: Galería de profesionales de la visualización de datos&lt;/a&gt;, para encontrar inspiración y referentes&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&#xA;&#xA;&#xA;&lt;h3 id=&#34;i-classfas-fa-sitemapi-desarrollo-de-apps-en-r&#34;&gt;&lt;i class=&#39;fas fa-sitemap&#39;&gt;&lt;/i&gt; Desarrollo de apps en R&#xA;  &lt;a href=&#34;#i-classfas-fa-sitemapi-desarrollo-de-apps-en-r&#34;&gt;&lt;svg class=&#34;anchor-symbol&#34; aria-hidden=&#34;true&#34; height=&#34;26&#34; width=&#34;26&#34; viewBox=&#34;0 0 22 22&#34; xmlns=&#34;http://www.w3.org/2000/svg&#34;&gt;&#xA;      &lt;path d=&#34;M0 0h24v24H0z&#34; fill=&#34;currentColor&#34;&gt;&lt;/path&gt;&#xA;      &lt;path d=&#34;M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76.0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71.0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71.0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76.0 5-2.24 5-5s-2.24-5-5-5z&#34;&gt;&lt;/path&gt;&#xA;    &lt;/svg&gt;&lt;/a&gt;&#xA;&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&#xA;&lt;a href=&#34;https://shiny.posit.co/blog/posts/shiny-assistant/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Shiny Assistant&lt;/a&gt;, asistente de inteligencia artificial para desarrollar, corregir y revisar aplicaciones Shiny&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;a href=&#34;http://shinyapps.dreamrs.fr/shinyWidgets/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Galería de Shiny Widgets&lt;/a&gt;, paquete que ofrece muchas inputs nuevos para Shiny&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;a href=&#34;https://github.com/nanxstats/awesome-shiny-extensions&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Extensiones de Shiny&lt;/a&gt;, colección de paquetes que extienden Shiny&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;a href=&#34;https://rstudio.github.io/bslib/index.html&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Documentación de &lt;code&gt;{bslib}&lt;/code&gt;&lt;/a&gt;, paquete para construir interfaces en Shiny&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;a href=&#34;https://pub.current.posit.team/public/Public_Sector_Shiny_Showcase/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Galería de apps Shiny en el sector público&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&#xA;&#xA;&#xA;&lt;h3 id=&#34;otros&#34;&gt;Otros&#xA;  &lt;a href=&#34;#otros&#34;&gt;&lt;svg class=&#34;anchor-symbol&#34; aria-hidden=&#34;true&#34; height=&#34;26&#34; width=&#34;26&#34; viewBox=&#34;0 0 22 22&#34; xmlns=&#34;http://www.w3.org/2000/svg&#34;&gt;&#xA;      &lt;path d=&#34;M0 0h24v24H0z&#34; fill=&#34;currentColor&#34;&gt;&lt;/path&gt;&#xA;      &lt;path d=&#34;M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76.0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71.0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71.0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76.0 5-2.24 5-5s-2.24-5-5-5z&#34;&gt;&lt;/path&gt;&#xA;    &lt;/svg&gt;&lt;/a&gt;&#xA;&lt;/h3&gt;&#xA;&#xA;&#xA;&#xA;&#xA;&lt;h4 id=&#34;reportes-quarto&#34;&gt;Reportes Quarto&#xA;  &lt;a href=&#34;#reportes-quarto&#34;&gt;&lt;/a&gt;&#xA;&lt;/h4&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&#xA;&lt;a href=&#34;https://bastianolea.rbind.io/blog/quarto_reportes/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Tutorial para crear documentos Quarto&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;a href=&#34;https://bastianolea.rbind.io/blog/tutorial_quarto_github_pages/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Tutorial para usar Quarto para generar blogs y sitios web&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;a href=&#34;https://r4sites-book.netlify.app&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Crear, publicar y analizar sitios web personales usando R&lt;/a&gt; 📚 libro que detalla todas las instrucciones de crear un sitio web con R y Hugo.&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;a href=&#34;https://slidecrafting-book.com&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Slidecrafting: Making beautiful slides with reveal.js and Quarto&lt;/a&gt; 📚 libro sobre diapositivas con Quarto&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;a href=&#34;https://emilhvitfeldt.com/project/slidecraft-101/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Temas y extensiones para diapositivas Quarto + RevealJS&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&#xA;&#xA;&#xA;&lt;h4 id=&#34;análisis-de-texto-con-r&#34;&gt;Análisis de texto con R&#xA;  &lt;a href=&#34;#an%c3%a1lisis-de-texto-con-r&#34;&gt;&lt;/a&gt;&#xA;&lt;/h4&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&#xA;&lt;a href=&#34;https://aic.uva.es/cuentapalabras/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Cuentapalabras. Estilometría y análisis de texto con R para filólogos&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&#xA;&#xA;&#xA;&lt;h4 id=&#34;cursos-para-aprender-r&#34;&gt;Cursos para aprender R&#xA;  &lt;a href=&#34;#cursos-para-aprender-r&#34;&gt;&lt;/a&gt;&#xA;&lt;/h4&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&#xA;&lt;a href=&#34;https://spatiallab.cl&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;SpatialLab&lt;/a&gt;, cursos de R y más (algunos impartidos por mi! 😌)&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;a href=&#34;https://estacion-r.com&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Estación R&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;a href=&#34;https://www.datacamp.com&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;DataCamp&lt;/a&gt;, cursos asíncronos interactivos para aprender R (así aprendí yo)&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;a href=&#34;https://hazlacondatos.com&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Hazla con Datos&lt;/a&gt; 🩺&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;a href=&#34;https://escueladedatos.online&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Escuela de Datos&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&#xA;&#xA;&#xA;&lt;h4 id=&#34;obtener-ayuda-sobre-r&#34;&gt;Obtener ayuda sobre R&#xA;  &lt;a href=&#34;#obtener-ayuda-sobre-r&#34;&gt;&lt;/a&gt;&#xA;&lt;/h4&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&#xA;&lt;a href=&#34;https://stackoverflow.com/collectives/r-language&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;StackOverflow&lt;/a&gt;, sitio web dedicado a preguntas y respuestas&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;a href=&#34;https://www.reddit.com/r/rstats&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Comunidad de R en Reddit&lt;/a&gt;, donde también se pueden hacer consultas&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;hr&gt;&#xA;&#xA;&#xA;&#xA;&#xA;&lt;h2 id=&#34;i-classfas-fa-people-arrowsi-conectar&#34;&gt;&lt;i class=&#39;fas fa-people-arrows&#39;&gt;&lt;/i&gt; Conectar&#xA;  &lt;a href=&#34;#i-classfas-fa-people-arrowsi-conectar&#34;&gt;&lt;svg class=&#34;anchor-symbol&#34; aria-hidden=&#34;true&#34; height=&#34;26&#34; width=&#34;26&#34; viewBox=&#34;0 0 22 22&#34; xmlns=&#34;http://www.w3.org/2000/svg&#34;&gt;&#xA;      &lt;path d=&#34;M0 0h24v24H0z&#34; fill=&#34;currentColor&#34;&gt;&lt;/path&gt;&#xA;      &lt;path d=&#34;M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76.0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71.0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71.0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76.0 5-2.24 5-5s-2.24-5-5-5z&#34;&gt;&lt;/path&gt;&#xA;    &lt;/svg&gt;&lt;/a&gt;&#xA;&lt;/h2&gt;&#xA;&lt;p&gt;&lt;em&gt;Conoce a otras personas que usan R o únete a una comunidad de usuarios/as!&lt;/em&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>`{territorial}`: un paquete de R para trabajar con datos de comunas y regiones de Chile</title>
      <link>https://bastianolea.rbind.io/blog/territorial/</link>
      <pubDate>Sat, 27 Jun 2026 00:00:00 +0000</pubDate>
      <guid>https://bastianolea.rbind.io/blog/territorial/</guid>
      <description>&lt;p&gt;&lt;a href=&#34;https://bastianolea.github.io/territorial/&#34;&gt;&lt;img src=&#34;hex-featured.png&#34; align=&#34;right&#34; height=&#34;180&#34; alt=&#34;territorial website&#34; /&gt;&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;Este paquete busca facilitar tareas de limpieza que suelen ser&#xA;necesarias al trabajar con datos de Chile a nivel comunal y regional,&#xA;ofreciendo &#xA;&lt;a href=&#34;https://bastianolea.github.io/territorial/reference/index.html&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;numerosas funciones&lt;/a&gt; para tareas como:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Revisar si los nombres de comunas y regiones vienen bien escritos&#xA;(&lt;code&gt;validar_comunas()&lt;/code&gt; y &lt;code&gt;validar_regiones()&lt;/code&gt;)&lt;/li&gt;&#xA;&lt;li&gt;Limpiar automáticamente los nombres de las comunas con&#xA;&lt;code&gt;limpiar_comunas()&lt;/code&gt;&lt;/li&gt;&#xA;&lt;li&gt;Agregar todos los datos territoriales (regiones y provincias con sus&#xA;códigos únicos) a partir de las comunas (&lt;code&gt;contextualizar()&lt;/code&gt;)&lt;/li&gt;&#xA;&lt;li&gt;Convertir nombres de comunas a códigos únicos comunales&#xA;(&lt;code&gt;as_codigo_comuna()&lt;/code&gt;) y viceversa (&lt;code&gt;as_nombre_comuna()&lt;/code&gt;)&lt;/li&gt;&#xA;&lt;li&gt;Ordenar las regiones del país de norte a sur (&lt;code&gt;ordenar_regiones()&lt;/code&gt;)&lt;/li&gt;&#xA;&lt;li&gt;Redactar los nombres de las regiones (&lt;code&gt;redactar_region()&lt;/code&gt;)&lt;/li&gt;&#xA;&lt;li&gt;y más!&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;El objetivo de este paquete es poder ayudar a todas las personas que trabajan datos territoriales de Chile a simplificar sus procesos de trabajo de análisis de datos con R.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Curso: introducción al análisis de datos con R, 3ª versión</title>
      <link>https://bastianolea.rbind.io/blog/curso_r_intro_3/</link>
      <pubDate>Mon, 22 Jun 2026 00:00:00 +0000</pubDate>
      <guid>https://bastianolea.rbind.io/blog/curso_r_intro_3/</guid>
      <description>&lt;a href=&#34;curso-r-2026-junio-featured.jpeg&#34; target=&#34;_blank&#34;&gt;&#xA;&#xA;  &lt;img src=&#34;curso-r-2026-junio-featured.jpeg&#34; style=&#34;border-radius: 5px; width: 80%; max-width: 700px; display: block; margin: auto; margin-bottom: 8px; margin-top: 8px;&#34;&gt;&#xA;  &#xA;&lt;/a&gt;&#xA;&lt;!--&#xA;&lt;div style=&#34;display: flex; align-items: center; gap: 15px; padding: 14px; &#xA;            /*background-color: #A985C650;*/&#xA;            background-color: #DEC4F2;&#xA;            border-radius: 6px;&#xA;            margin: 20px 40px 20px 40px;&#34;&gt;&#xA;  &#xA;  &lt;div style=&#34;flex-shrink: 0;&#34;&gt;&#xA;    &lt;i class=&#34;fas fa-info-circle&#34; style=&#34;font-size: 130%; margin-left: 2px; opacity: 1; color: #9069C0;&#34;&gt;&lt;/i&gt;&#xA;  &lt;/div&gt;&#xA;  &#xA;  &lt;aside style = &#34;font-size: 90%;&#34;&gt;&#xA;    Muchas gracias a todas las personas que participaron! Fue un gusto conocerles! Todo el material de las &#xA;&lt;a href=&#34;#clases&#34;&gt;clases&lt;/a&gt; están disponibles más abajo!&#xA;  &lt;/aside&gt;&#xA;  &#xA;&lt;/div&gt;&#xA;---&gt;&#xA;&#xA;&#xA;&#xA;&#xA;&lt;h2 id=&#34;sobre-el-curso&#34;&gt;Sobre el curso&#xA;  &lt;a href=&#34;#sobre-el-curso&#34;&gt;&lt;svg class=&#34;anchor-symbol&#34; aria-hidden=&#34;true&#34; height=&#34;26&#34; width=&#34;26&#34; viewBox=&#34;0 0 22 22&#34; xmlns=&#34;http://www.w3.org/2000/svg&#34;&gt;&#xA;      &lt;path d=&#34;M0 0h24v24H0z&#34; fill=&#34;currentColor&#34;&gt;&lt;/path&gt;&#xA;      &lt;path d=&#34;M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76.0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71.0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71.0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76.0 5-2.24 5-5s-2.24-5-5-5z&#34;&gt;&lt;/path&gt;&#xA;    &lt;/svg&gt;&lt;/a&gt;&#xA;&lt;/h2&gt;&#xA;&lt;p&gt;Tercer curso gratuito de introducción al análisis de datos con R, enfocado en las ciencias sociales.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Curso: introducción al análisis de datos con R, 3ª versión</title>
      <link>https://bastianolea.rbind.io/clases/curso_r_intro_3/</link>
      <pubDate>Mon, 22 Jun 2026 00:00:00 +0000</pubDate>
      <guid>https://bastianolea.rbind.io/clases/curso_r_intro_3/</guid>
      <description>&lt;a href=&#34;curso-r-2026-junio-featured.jpeg&#34; target=&#34;_blank&#34;&gt;&#xA;&#xA;  &lt;img src=&#34;curso-r-2026-junio-featured.jpeg&#34; style=&#34;border-radius: 5px; width: 80%; max-width: 700px; display: block; margin: auto; margin-bottom: 8px; margin-top: 8px;&#34;&gt;&#xA;  &#xA;&lt;/a&gt;&#xA;&lt;!--&#xA;&lt;div style=&#34;display: flex; align-items: center; gap: 15px; padding: 14px; &#xA;            /*background-color: #A985C650;*/&#xA;            background-color: #DEC4F2;&#xA;            border-radius: 6px;&#xA;            margin: 20px 40px 20px 40px;&#34;&gt;&#xA;  &#xA;  &lt;div style=&#34;flex-shrink: 0;&#34;&gt;&#xA;    &lt;i class=&#34;fas fa-info-circle&#34; style=&#34;font-size: 130%; margin-left: 2px; opacity: 1; color: #9069C0;&#34;&gt;&lt;/i&gt;&#xA;  &lt;/div&gt;&#xA;  &#xA;  &lt;aside style = &#34;font-size: 90%;&#34;&gt;&#xA;    Muchas gracias a todas las personas que participaron! Fue un gusto conocerles! Todo el material de las &#xA;&lt;a href=&#34;#clases&#34;&gt;clases&lt;/a&gt; están disponibles más abajo!&#xA;  &lt;/aside&gt;&#xA;  &#xA;&lt;/div&gt;&#xA;---&gt;&#xA;&#xA;&#xA;&#xA;&#xA;&lt;h2 id=&#34;sobre-el-curso&#34;&gt;Sobre el curso&#xA;  &lt;a href=&#34;#sobre-el-curso&#34;&gt;&lt;svg class=&#34;anchor-symbol&#34; aria-hidden=&#34;true&#34; height=&#34;26&#34; width=&#34;26&#34; viewBox=&#34;0 0 22 22&#34; xmlns=&#34;http://www.w3.org/2000/svg&#34;&gt;&#xA;      &lt;path d=&#34;M0 0h24v24H0z&#34; fill=&#34;currentColor&#34;&gt;&lt;/path&gt;&#xA;      &lt;path d=&#34;M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76.0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71.0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71.0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76.0 5-2.24 5-5s-2.24-5-5-5z&#34;&gt;&lt;/path&gt;&#xA;    &lt;/svg&gt;&lt;/a&gt;&#xA;&lt;/h2&gt;&#xA;&lt;p&gt;Tercer curso gratuito de introducción al análisis de datos con R, enfocado en las ciencias sociales.&lt;/p&gt;</description>
    </item>
    <item>
      <title>`{rutera}`: un paquete de R para limpiar y procesar RUTs chilenos</title>
      <link>https://bastianolea.rbind.io/blog/rutera/</link>
      <pubDate>Thu, 18 Jun 2026 00:00:00 +0000</pubDate>
      <guid>https://bastianolea.rbind.io/blog/rutera/</guid>
      <description>&lt;p&gt;Paquete de R que entrega herramientas para limpiar, validar y verificar el número de cédula de identidad Chilena en R.&lt;/p&gt;&#xA;&lt;div style=&#34;margin: 28px 0;&#34;&gt;&#xA;&#xA;  &lt;a href=&#34;https://bastianolea.github.io/rutera/&#34;&#xA;     target=&#34;_blank&#34;&#xA;     rel=&#34;noopener noreferrer&#34;&#xA;     class=&#34;externo-card&#34;&gt;&#xA;&#xA;    &#xA;    &lt;figure class=&#34;externo-card-img paquete-card-img&#34;&gt;&#xA;      &lt;img src=&#34;hex-featured.png&#34;&#xA;           alt=&#34;Paquete `{rutera}`&#34;&gt;&#xA;    &lt;/figure&gt;&#xA;    &#xA;&#xA;    &lt;div class=&#34;externo-card-text&#34;&gt;&#xA;&#xA;      &lt;p style=&#34;margin: 0;&#xA;                font-size: 95%;&#xA;                color: #9069C0;&#xA;                font-weight: bold;&#xA;                line-height: 1.35;&#34;&gt;&#xA;        Paquete &lt;code&gt;{rutera}&lt;/code&gt;&#xA;      &lt;/p&gt;&#xA;&#xA;      &#xA;      &lt;p style=&#34;margin: 0;&#xA;                color: #543A73;&#xA;                font-size: 84%;&#xA;                line-height: 1.5;&#34;&gt;&#xA;        Herramientas para limpiar, validar y verificar el número de cédula de identidad Chilena en R. Estas funciones ayudan a realizar operaciones frecuentes para datos de ciudadanos chilenos que incluyen el RUT como identificador único.&#xA;      &lt;/p&gt;</description>
    </item>
    <item>
      <title>Recodificando variables ordinales cuando vienen sucias y/o desde respuestas abiertas</title>
      <link>https://bastianolea.rbind.io/blog/stringr_limpieza_ordinal/</link>
      <pubDate>Thu, 18 Jun 2026 00:00:00 +0000</pubDate>
      <guid>https://bastianolea.rbind.io/blog/stringr_limpieza_ordinal/</guid>
      <description>&lt;p&gt;Las &lt;strong&gt;variables ordinales&lt;/strong&gt; son aquellas cuyos valores tienen un orden definido, pero la diferencia entre estos valores puede ser variable. Por ejemplo: &lt;em&gt;bajo, medio&lt;/em&gt; y &lt;em&gt;alto.&lt;/em&gt;&lt;/p&gt;&#xA;&lt;p&gt;En este caso me tocó enfrentarme a una encuesta con una variable ordinal que medía &lt;strong&gt;velocidad de internet&lt;/strong&gt;, que es por naturaleza una variable contínua (números que representan la velocidad), pero que en este caso fue categorizada en intervalos (pasando del valor &lt;code&gt;36&lt;/code&gt; a &amp;ldquo;Entre 20 y 50&amp;rdquo;, por ejemplo) transformándola en una variable ordinal.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Tipografías lindas para programar en R: Fira Code</title>
      <link>https://bastianolea.rbind.io/blog/2026-06-16/</link>
      <pubDate>Tue, 16 Jun 2026 00:00:00 +0000</pubDate>
      <guid>https://bastianolea.rbind.io/blog/2026-06-16/</guid>
      <description>&lt;p&gt;&#xA;&lt;a href=&#34;https://github.com/tonsky/FiraCode&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Fira Code&lt;/a&gt; es una tipografía muy bonita para programar. Su característica principal es que usa las &lt;strong&gt;ligaduras&lt;/strong&gt;, una característica de la tipografía que une dos o más caracteres en un solo símbolo adaptado, para mostrar los símbolos usados en programación de forma más atractiva.&lt;/p&gt;&#xA;&lt;a href=&#34;pruebas_firacode.png&#34; target=&#34;_blank&#34;&gt;&#xA;&#xA;  &lt;img src=&#34;pruebas_firacode.png&#34; style=&#34;border-radius: 5px; width: 80%; max-width: 300px; display: block; margin: auto; margin-bottom: 8px; margin-top: 8px;&#34;&gt;&#xA;  &#xA;&lt;/a&gt;&#xA;&lt;p&gt;Lo más destacable es que convierte el &#xA;&lt;a href=&#34;https://bastianolea.rbind.io/blog/r_introduccion/conectores/&#34;&gt;símbolo del conector&lt;/a&gt; o &lt;em&gt;pipe&lt;/em&gt; (&lt;code&gt;|&amp;gt;&lt;/code&gt;) en un triangulito, y a la &#xA;&lt;a href=&#34;https://bastianolea.rbind.io/blog/r_introduccion/r_basico/#asignaciones&#34;&gt;flecha de asignación&lt;/a&gt; (&lt;code&gt;&amp;lt;-&lt;/code&gt;) en una flecha de verdad.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Posit Assistant, una IA para análisis de datos integrada en RStudio</title>
      <link>https://bastianolea.rbind.io/blog/posit_assistant/</link>
      <pubDate>Sat, 13 Jun 2026 00:00:00 +0000</pubDate>
      <guid>https://bastianolea.rbind.io/blog/posit_assistant/</guid>
      <description>&lt;p&gt;Recientemente &#xA;&lt;a href=&#34;https://posit.co&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Posit&lt;/a&gt;, la &lt;del&gt;empresa&lt;/del&gt; corporación de beneficio público detrás de RStudio, Positron, y responsable de &#xA;&lt;a href=&#34;https://posit.co/products/open-source/rpackages&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;muchos de los paquetes que más usamos en el ecosistema de R&lt;/a&gt;, anunció la &#xA;&lt;a href=&#34;https://posit.co/blog/introducing-ai-in-rstudio&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;integración oficial de inteligencia artificial en RStudio&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;p&gt;&#xA;&lt;a href=&#34;https://posit-dev.github.io/assistant/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;&lt;strong&gt;Posit Assistant&lt;/strong&gt;&lt;/a&gt; reside en la barra lateral de RStudio y sirve para hacer consultas a una IA relacionadas al análisis de datos, dentro del contexto del proyecto que estés realizando con R.&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&#34;posit_assistant_rstudio.png&#34; target=&#34;_blank&#34;&gt;&#xA;&#xA;  &lt;img src=&#34;posit_assistant_rstudio.png&#34; style=&#34;border-radius: 5px; width: 80%; max-width: 500px; display: block; margin: auto; margin-bottom: 8px; margin-top: 8px;&#34;&gt;&#xA;  &#xA;&lt;/a&gt;&#xA;&lt;figcaption style=&#34;max-width: 380px; margin:auto; text-align: center; font-size:80%; opacity:60%; margin-top:-8px; margin-bottom: 24px;&#34;&gt;&#xA;  En la parte superior de RStudio encuentras el botón Posit Assistant.&#xA;&lt;/figcaption&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Limpieza y validación de RUT en R</title>
      <link>https://bastianolea.rbind.io/blog/validacion_rut/</link>
      <pubDate>Fri, 12 Jun 2026 00:00:00 +0000</pubDate>
      <guid>https://bastianolea.rbind.io/blog/validacion_rut/</guid>
      <description>&lt;p&gt;En Chile, los &#xA;&lt;a href=&#34;https://es.wikipedia.org/wiki/Rol_%c3%9anico_Nacional&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;RUT&lt;/a&gt; son los números de identificación usados para ciudadanos y empresas. Tienen el formato &lt;code&gt;xxxxxxx-y&lt;/code&gt;, donde &lt;code&gt;x&lt;/code&gt; es el número o cuerpo, e &lt;code&gt;y&lt;/code&gt; es el dígito verificador (número entre &lt;code&gt;0&lt;/code&gt; y &lt;code&gt;9&lt;/code&gt; o &lt;code&gt;K&lt;/code&gt;).&lt;/p&gt;&#xA;&lt;p&gt;En esta publicación entrego algunas funciones para realizar operaciones comunes con los RUT en R, como validarlos, calcular el dígito verificador, y limpiar los RUT, y además entrego estas mismas soluciones en la forma de funciones de &#xA;&lt;a href=&#34;../../../blog/rutera/&#34;&gt;mi paquete &lt;code&gt;{rutera}&lt;/code&gt;&lt;/a&gt;.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Búsquedas de texto por ranking de relevancia con R usando el algoritmo BM25</title>
      <link>https://bastianolea.rbind.io/blog/buscar_texto/</link>
      <pubDate>Sat, 06 Jun 2026 00:00:00 +0000</pubDate>
      <guid>https://bastianolea.rbind.io/blog/buscar_texto/</guid>
      <description>&lt;div style=&#34;display: flex; align-items: center; gap: 15px; padding: 14px; &#xA;            /*background-color: #A985C650;*/&#xA;            background-color: #DEC4F2;&#xA;            border-radius: 6px;&#xA;            margin: 20px 40px 20px 40px;&#34;&gt;&#xA;  &#xA;  &lt;div style=&#34;flex-shrink: 0;&#34;&gt;&#xA;    &lt;i class=&#34;fas fa-info-circle&#34; style=&#34;font-size: 130%; margin-left: 2px; opacity: 1; color: #9069C0;&#34;&gt;&lt;/i&gt;&#xA;  &lt;/div&gt;&#xA;  &#xA;  &lt;aside style = &#34;font-size: 90%;&#34;&gt;&#xA;    Hice este post porque actualicé el &#xA;&lt;a href=&#34;https://bastianolea.rbind.io/blog/buscador/&#34;&gt;buscador de mi blog&lt;/a&gt; que puedes &#xA;&lt;a href=&#34;https://bastianolea.rbind.io/buscar/&#34;&gt;usar aquí&lt;/a&gt; para que ahora entregue mejores resultados, y lo mejor: ordenados por relevancia. Puedes ver su código &#xA;&lt;a href=&#34;https://github.com/bastianolea/blog_buscador&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;en este repositorio.&lt;/a&gt;&#xA;  &lt;/aside&gt;&#xA;  &#xA;&lt;/div&gt;&#xA;&lt;p&gt;Cuando tenemos datos que contienen mucho texto, usualmente necesitamos filtrar las observaciones dependiendo de si contienen o no uno o más términos.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Crea un chatbot de inteligencia artificial con R</title>
      <link>https://bastianolea.rbind.io/blog/shinychat/</link>
      <pubDate>Mon, 01 Jun 2026 00:00:00 +0000</pubDate>
      <guid>https://bastianolea.rbind.io/blog/shinychat/</guid>
      <description>&lt;p&gt;Con R y los paquetes apropiados, en pocos minutos podrás crear un chat interactivo de inteligencia artificial dentro de una aplicación Shiny, para poder chatear con un modelo de lenguaje (LLM) de tu elección.&lt;/p&gt;&#xA;&lt;a href=&#34;chatbot_r_featured.png&#34; target=&#34;_blank&#34;&gt;&#xA;&#xA;  &lt;img src=&#34;chatbot_r_featured.png&#34; style=&#34;border-radius: 5px; width: 80%; max-width: 400px; display: block; margin: auto; margin-bottom: 8px; margin-top: 8px;&#34;&gt;&#xA;  &#xA;&lt;/a&gt;&#xA;&lt;p&gt;El objetivo es poder crear un chat interactivo e ir mejorándolo con la capacidad de &lt;strong&gt;consultar datos&lt;/strong&gt;, &lt;strong&gt;realizar cálculos&lt;/strong&gt; y otras capacidades propias de R, y además aumentar su conocimiento y la precisión de sus respuestas al permitirle &lt;strong&gt;consultar documentos y textos&lt;/strong&gt; para responder.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Palíndromos de Chile</title>
      <link>https://bastianolea.rbind.io/blog/2026-05-29/</link>
      <pubDate>Fri, 29 May 2026 00:00:00 +0000</pubDate>
      <guid>https://bastianolea.rbind.io/blog/2026-05-29/</guid>
      <description>&lt;p&gt;Un palíndromo es una palabra que se puede leer o escribir al revés y al derecho. Por ejemplo, &amp;ldquo;seres&amp;rdquo; o &amp;ldquo;radar&amp;rdquo; al revés son iguales.&lt;/p&gt;&#xA;&#xA;&#xA;&#xA;&#xA;&lt;h2 id=&#34;palíndromos-en-r&#34;&gt;Palíndromos en R&#xA;  &lt;a href=&#34;#pal%c3%adndromos-en-r&#34;&gt;&lt;svg class=&#34;anchor-symbol&#34; aria-hidden=&#34;true&#34; height=&#34;26&#34; width=&#34;26&#34; viewBox=&#34;0 0 22 22&#34; xmlns=&#34;http://www.w3.org/2000/svg&#34;&gt;&#xA;      &lt;path d=&#34;M0 0h24v24H0z&#34; fill=&#34;currentColor&#34;&gt;&lt;/path&gt;&#xA;      &lt;path d=&#34;M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76.0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71.0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71.0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76.0 5-2.24 5-5s-2.24-5-5-5z&#34;&gt;&lt;/path&gt;&#xA;    &lt;/svg&gt;&lt;/a&gt;&#xA;&lt;/h2&gt;&#xA;&lt;p&gt;Hagamos una función en R para poder evaluar si una palabra es palindrómica:&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-r&#34; data-lang=&#34;r&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;palindromo&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;&amp;lt;-&lt;/span&gt; &lt;span class=&#34;kr&#34;&gt;function&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;texto&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;nf&#34;&gt;require&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;stringi&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;n&#34;&gt;texto_minusc&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;&amp;lt;-&lt;/span&gt; &lt;span class=&#34;nf&#34;&gt;tolower&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;texto&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;n&#34;&gt;texto_limpio&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;&amp;lt;-&lt;/span&gt; &lt;span class=&#34;nf&#34;&gt;chartr&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s&#34;&gt;&amp;#34;áéíóú&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;s&#34;&gt;&amp;#34;aeiou&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;texto_minusc&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;n&#34;&gt;texto_invertido&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;&amp;lt;-&lt;/span&gt; &lt;span class=&#34;nf&#34;&gt;stri_reverse&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;texto_limpio&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;kr&#34;&gt;return&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;texto_limpio&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;==&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;texto_invertido&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Esta función simplemente invierte un texto con &lt;code&gt;stri_reverse()&lt;/code&gt; (cosa que &lt;code&gt;hola&lt;/code&gt; se vuelve &lt;code&gt;aloh&lt;/code&gt;), pero antes transforma la palabra a minúsculas con &lt;code&gt;tolower()&lt;/code&gt;, y le saca los tildes con &lt;code&gt;chartr()&lt;/code&gt;, para obtener la palabra en su versión &lt;em&gt;limpia&lt;/em&gt;. Luego la función compara la palabra invertida con la palabra original, y retorna &lt;code&gt;TRUE&lt;/code&gt; si es palíndromo o &lt;code&gt;FALSE&lt;/code&gt; si no lo es.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Aumenta el conocimiento de inteligencias artificiales creando un sistema de RAG con R</title>
      <link>https://bastianolea.rbind.io/blog/rag_ragnar/</link>
      <pubDate>Thu, 28 May 2026 00:00:00 +0000</pubDate>
      <guid>https://bastianolea.rbind.io/blog/rag_ragnar/</guid>
      <description>&lt;p&gt;La &lt;em&gt;generación aumentada por recuperación&lt;/em&gt; o RAG, por sus siglas en inglés (&lt;em&gt;retrieval-augmented generation&lt;/em&gt;) es un proceso por medio del cual puedes &lt;strong&gt;aumentar o complementar el conocimiento de una inteligencia artificial&lt;/strong&gt; para que pueda &lt;strong&gt;responder preguntas basándose en tus propios documentos&lt;/strong&gt; sin necesidad de entrenar un modelo nuevo ni de requerir un modelo de lenguaje gigante y caro.&lt;/p&gt;&#xA;&lt;p&gt;&lt;em&gt;&lt;strong&gt;¿Para qué sirve el RAG?&lt;/strong&gt;&lt;/em&gt; Para que cualquier modelo de IA pueda informarse en uno o varios documentos que tú especifiques, y así tenga &lt;strong&gt;conocimiento específico&lt;/strong&gt; de temáticas especializadas. De esta forma, los modelos dejan de depender en los conocimientos de su entrenamiento (que son generales y difusos) y se basan en el conocimiento que tú les proveas para responder.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Creando una función para consultar datos en R</title>
      <link>https://bastianolea.rbind.io/blog/funcion_consultar_datos/</link>
      <pubDate>Sat, 23 May 2026 00:00:00 +0000</pubDate>
      <guid>https://bastianolea.rbind.io/blog/funcion_consultar_datos/</guid>
      <description>&lt;p&gt;En este tutorial veremos cómo &lt;strong&gt;crear una función&lt;/strong&gt; en R diseñada para consultar datos. Este puede ser el primer paso para crear una API, una &#xA;&lt;a href=&#34;../../../blog/herramientas_llm/&#34;&gt;herramienta para entregarle a una inteligencia artificial&lt;/a&gt;, o simplemente algo conveniente de hacer para consultar datos.&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&#34;funcion_consultar_datos_featured.png&#34; target=&#34;_blank&#34;&gt;&#xA;&#xA;  &lt;img src=&#34;funcion_consultar_datos_featured.png&#34; style=&#34;border-radius: 5px; width: 80%; max-width: 500px; display: block; margin: auto; margin-bottom: 8px; margin-top: 8px;&#34;&gt;&#xA;  &#xA;&lt;/a&gt;&#xA;&lt;figcaption style=&#34;max-width: 380px; margin:auto; text-align: center; font-size:80%; opacity:60%; margin-top:-8px; margin-bottom: 24px;&#34;&gt;&#xA;  Pasaremos de tener una tabla de datos que necesitamos manipular, a una función conveniente que nos entregue las cifras que necesitamos&#xA;&lt;/figcaption&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Tutorial: Crea aplicaciones web interactivas en R con Shiny</title>
      <link>https://bastianolea.rbind.io/blog/shiny/</link>
      <pubDate>Thu, 14 May 2026 00:00:00 +0000</pubDate>
      <guid>https://bastianolea.rbind.io/blog/shiny/</guid>
      <description>&lt;p&gt;&#xA;&lt;a href=&#34;https://shiny.posit.co&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Shiny&lt;/a&gt; es un paquete de R para &lt;strong&gt;desarrollar aplicaciones web interactivas&lt;/strong&gt;. Con Shiny puedes crear apps que tus usuarios/as podrán ver desde su navegador, y pueden contener todo tipo de contenido: gráficos, tablas, botones, textos dinámicos, mapas, etc. Es una forma de usar R para &lt;strong&gt;crear aplicaciones web centradas en datos&lt;/strong&gt; que simplifica muchos aspectos complejos del desarrollo web.&lt;/p&gt;&#xA;&lt;a href=&#34;shiny-apps-featured.jpg&#34; target=&#34;_blank&#34;&gt;&#xA;&#xA;  &lt;img src=&#34;shiny-apps-featured.jpg&#34; style=&#34;border-radius: 5px; width: 80%; max-width: 700px; display: block; margin: auto; margin-bottom: 8px; margin-top: 8px;&#34;&gt;&#xA;  &#xA;&lt;/a&gt;&#xA;&lt;p&gt;Shiny le da vida a todo lo que hayas desarrollado con R &lt;strong&gt;sin cambiarte a otro lenguaje ni aprender uno distinto&lt;/strong&gt;. Esto significa que &lt;strong&gt;la distancia se acorta&lt;/strong&gt; entre el gráfico que hiciste o el resultado de tus estudios y el tener un producto presentable para tu público o clientes.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Usando tipografías personalizadas en aplicaciones Shiny</title>
      <link>https://bastianolea.rbind.io/blog/shiny_tipografias/</link>
      <pubDate>Mon, 11 May 2026 00:00:00 +0000</pubDate>
      <guid>https://bastianolea.rbind.io/blog/shiny_tipografias/</guid>
      <description>&lt;p&gt;Las tipografías son el aspecto principal de la apariencia de una aplicación, &#xA;&lt;a href=&#34;https://bastianolea.rbind.io/blog/shiny_temas/&#34;&gt;junto a su paleta de colores.&lt;/a&gt;. Elegir bien la tipografía de tu app puede hacer que tu app se vea más profesional y atractiva, y que se diferencie del resto.&lt;/p&gt;&#xA;&lt;div style=&#34;margin: 28px 0;&#34;&gt;&#xA;    &lt;p class=&#34;titulo-panel&#34;&gt;&#xA;      Publicaciones relacionadas&#xA;    &lt;/p&gt;&#xA;&#xA;  &lt;a href=&#34;https://bastianolea.rbind.io/blog/shiny/&#34;&#xA;     style=&#34;display: flex;&#xA;            flex-direction: row;&#xA;            align-items: stretch;&#xA;            text-decoration: none;&#xA;            color: inherit;&#xA;            /*border: 1px solid #9069C035;*/&#xA;            border: solid 2px #A885C6AA;&#xA;            border-radius: 8px;&#xA;            overflow: hidden;&#xA;            /*background-color: #9069C00d;*/&#xA;            background-color: #9069C020;&#xA;            &#34;&gt;&#xA;&#xA;    &#xA;    &lt;figure style=&#34;flex-shrink: 0;&#xA;                   position: relative;&#xA;                   width: 140px;&#xA;                   min-height: 80px;&#xA;                   margin: 10px 0 10px 10px;&#xA;                   overflow: hidden;&#xA;                   border-radius: 5px;&#34;&gt;&#xA;      &lt;img src=&#34;https://bastianolea.rbind.io/blog/shiny/shiny-apps-featured.jpg&#34;&#xA;           alt=&#34;Tutorial: Crea aplicaciones web interactivas en R con Shiny&#34;&#xA;           style=&#34;position: absolute;&#xA;                  inset: 0;&#xA;                  width: 100%;&#xA;                  height: 100%;&#xA;                  object-fit: cover;&#xA;                  object-position: center top;&#xA;                  margin: 0;&#34;&gt;&#xA;    &lt;/figure&gt;&#xA;    &#xA;&#xA;    &lt;div style=&#34;padding: 15px 20px;&#xA;                flex: 1;&#xA;                display: flex;&#xA;                flex-direction: column;&#xA;                justify-content: center;&#xA;                gap: 6px;&#34;&gt;&#xA;&#xA;      &lt;p style=&#34;margin: 0;&#xA;                font-size: 95%;&#xA;                color: #9069C0;&#xA;                font-weight: bold;&#xA;                line-height: 1.35;&#34;&gt;&#xA;        Tutorial: Crea aplicaciones web interactivas en R con Shiny&#xA;      &lt;/p&gt;</description>
    </item>
    <item>
      <title>Mapas hexagonales o cuadriculados con R</title>
      <link>https://bastianolea.rbind.io/blog/mapas_hexagonales/</link>
      <pubDate>Thu, 30 Apr 2026 00:00:00 +0000</pubDate>
      <guid>https://bastianolea.rbind.io/blog/mapas_hexagonales/</guid>
      <description>&lt;p&gt;Al visualizar datos espaciales detallados, como los de la &#xA;&lt;a href=&#34;./blog/mapas_censo_2024/&#34;&gt;cartografía censal a nivel de manzanas&lt;/a&gt;, los polígonos presentan diversos tamaños y niveles de detalle. Esto puede ser demasiado detallado para la visualización que necesitemos, puede desconcentrar mucho, o bien, podemos necesitar homogeneizar la distribución de los datos en el territorio. En este tutorial veremos cómo crear mapas de hexágonos y de cuadrículas a partir de todo tipo de &lt;em&gt;shapes&lt;/em&gt;.&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-r&#34; data-lang=&#34;r&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# crea mapas para comunas o regiones&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nf&#34;&gt;library&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;dplyr&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nf&#34;&gt;library&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;arrow&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&#xA;&#xA;&#xA;&#xA;&lt;h2 id=&#34;datos-censales&#34;&gt;Datos censales&#xA;  &lt;a href=&#34;#datos-censales&#34;&gt;&lt;svg class=&#34;anchor-symbol&#34; aria-hidden=&#34;true&#34; height=&#34;26&#34; width=&#34;26&#34; viewBox=&#34;0 0 22 22&#34; xmlns=&#34;http://www.w3.org/2000/svg&#34;&gt;&#xA;      &lt;path d=&#34;M0 0h24v24H0z&#34; fill=&#34;currentColor&#34;&gt;&lt;/path&gt;&#xA;      &lt;path d=&#34;M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76.0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71.0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71.0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76.0 5-2.24 5-5s-2.24-5-5-5z&#34;&gt;&lt;/path&gt;&#xA;    &lt;/svg&gt;&lt;/a&gt;&#xA;&lt;/h2&gt;&#xA;&lt;p&gt;&#xA;&lt;a href=&#34;https://censo2024.ine.gob.cl/resultados/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Descarga los datos cartográficos del Censo 2024 desde la página del INE&lt;/a&gt;, entrando a &lt;em&gt;Cartografía Censal&lt;/em&gt; y luego descargando el archivo &lt;strong&gt;Cartografía País Censo 2024 (geoparquet)&lt;/strong&gt;.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Mapas y visualización de datos geoespaciales en R con {sf}</title>
      <link>https://bastianolea.rbind.io/blog/mapas_sf/</link>
      <pubDate>Wed, 29 Apr 2026 00:00:00 +0000</pubDate>
      <guid>https://bastianolea.rbind.io/blog/mapas_sf/</guid>
      <description>&lt;p&gt;&lt;a href=&#34;mapa_rm_featured.png&#34; target=&#34;_blank&#34;&gt;&#xA;&#xA;  &lt;img src=&#34;mapa_rm_featured.png&#34; style=&#34;border-radius: 5px; width: 80%; max-width: 700px; display: block; margin: auto; margin-bottom: 8px; margin-top: 8px;&#34;&gt;&#xA;  &#xA;&lt;/a&gt;&#xA;&#xA;&#xA;&lt;div style=&#34;display: flex; align-items: center; gap: 15px; padding: 14px; &#xA;            background-color: #493365;&#xA;            border-radius: 6px;&#xA;            margin: 20px 40px 20px 40px;&#34;&gt;&#xA;  &#xA;  &lt;div style=&#34;flex-shrink: 0;&#34;&gt;&#xA;    &lt;i class=&#34;fas fa-triangle-exclamation&#34; style=&#34;font-size: 130%; margin-left: 2px; opacity: 1; color: #EAD2FA;&#34;&gt;&lt;/i&gt;&#xA;  &lt;/div&gt;&#xA;  &#xA;  &lt;aside style = &#34;font-size: 90%; color: #EAD2FA;&#34;&gt;&#xA;    ⚠️ Este tutorial se encuentra en construcción! ⚠️&#xA;  &lt;/aside&gt;&#xA;  &#xA;&lt;/div&gt;&lt;/p&gt;&#xA;&lt;p&gt;R cuenta con un muy amplio &#xA;&lt;a href=&#34;https://github.com/r-spatial/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;ecosistema&lt;/a&gt; de paquetes para datos geoespaciales. Uno de los &#xA;&lt;a href=&#34;https://r-spatial.github.io/sf/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;paquetes más importantes es &lt;code&gt;{sf}&lt;/code&gt;&lt;/a&gt;, que permite manipular datos espaciales a partir del estándar &lt;em&gt;simple features&lt;/em&gt; (características simples), ampliamente utilizado en sistemas de información geográfica (SIG/GIS).&lt;/p&gt;</description>
    </item>
    <item>
      <title>Potencia las capacidades de la IA entregándole herramientas (_tool calling_) basadas en R</title>
      <link>https://bastianolea.rbind.io/blog/herramientas_llm/</link>
      <pubDate>Sun, 26 Apr 2026 00:00:00 +0000</pubDate>
      <guid>https://bastianolea.rbind.io/blog/herramientas_llm/</guid>
      <description>&lt;p&gt;&lt;em&gt;La inteligencia artificial no lo sabe todo.&lt;/em&gt; Y lo que no sabe, &lt;strong&gt;lo inventa&lt;/strong&gt;. Es demasiado importante &lt;strong&gt;conocer las limitaciones&lt;/strong&gt; de las herramientas de inteligencia artificial para poder hacer buen uso de ellas.&lt;/p&gt;&#xA;&lt;p&gt;Por ejemplo, la IA puede saber mucho sobre Chile, pero &lt;strong&gt;no sabe&lt;/strong&gt; con exactitud &lt;em&gt;todos&lt;/em&gt; los datos de la población de todos sus territorios. Veamos un caso:&lt;/p&gt;&#xA;&#xA;&#xA;&#xA;&#xA;&lt;h2 id=&#34;poniendo-a-prueba-el-conocimiento-de-la-ia&#34;&gt;Poniendo a prueba el conocimiento de la IA&#xA;  &lt;a href=&#34;#poniendo-a-prueba-el-conocimiento-de-la-ia&#34;&gt;&lt;svg class=&#34;anchor-symbol&#34; aria-hidden=&#34;true&#34; height=&#34;26&#34; width=&#34;26&#34; viewBox=&#34;0 0 22 22&#34; xmlns=&#34;http://www.w3.org/2000/svg&#34;&gt;&#xA;      &lt;path d=&#34;M0 0h24v24H0z&#34; fill=&#34;currentColor&#34;&gt;&lt;/path&gt;&#xA;      &lt;path d=&#34;M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76.0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71.0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71.0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76.0 5-2.24 5-5s-2.24-5-5-5z&#34;&gt;&lt;/path&gt;&#xA;    &lt;/svg&gt;&lt;/a&gt;&#xA;&lt;/h2&gt;&#xA;&lt;p&gt;Hagamos una consulta por un dato específico primero, y luego  sobre población chilena al modelo &lt;em&gt;Claude Haiku&lt;/em&gt; de Anthropic.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Gráficos de puntos comparativos o _dumbbell_ en `{ggplot2}`</title>
      <link>https://bastianolea.rbind.io/blog/ggplot_dumbbell/</link>
      <pubDate>Fri, 24 Apr 2026 00:00:00 +0000</pubDate>
      <guid>https://bastianolea.rbind.io/blog/ggplot_dumbbell/</guid>
      <description>&lt;p&gt;Los &lt;strong&gt;gráficos de puntos comparativos&lt;/strong&gt;, también conocidos como &lt;em&gt;dumbbell&lt;/em&gt; o de &lt;em&gt;mancuernas&lt;/em&gt;, son un tipo de visualización que muestra el &lt;strong&gt;cambio en los valores de un mismo grupo en dos momentos distintos.&lt;/strong&gt; Cada valor se representa con un círculo, ambos conectados por una línea, donde la posición representa la cifra y su distancia representa la brecha. El objetivo de estos gráficos es &lt;strong&gt;comparar&lt;/strong&gt; el cambio del valor.&lt;/p&gt;&#xA;&lt;p&gt;Si bien los gráficos de barras también permiten comparar valores, el gráfico &lt;em&gt;dumbell&lt;/em&gt; hace más explícita la comparación al eliminar otros elementos distractores y enfocar la atención en la distancia entre los puntos.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Aplicación: Visualizador de densidad de población urbana en comunas de Chile</title>
      <link>https://bastianolea.rbind.io/blog/app_densidad_comunas/</link>
      <pubDate>Thu, 23 Apr 2026 00:00:00 +0000</pubDate>
      <guid>https://bastianolea.rbind.io/blog/app_densidad_comunas/</guid>
      <description>&lt;a href=&#34;app_densidad_comunas.png&#34; target=&#34;_blank&#34;&gt;&#xA;&#xA;  &lt;img src=&#34;app_densidad_comunas.png&#34; style=&#34;border-radius: 5px; width: 80%; max-width: 700px; display: block; margin: auto; margin-bottom: 8px; margin-top: 8px;&#34;&gt;&#xA;  &#xA;&lt;/a&gt;&#xA;&lt;p&gt;Aplicación simple para explorar de forma gráfica la densidad poblacional de las comunas de Chile, para los territorios urbanos.&lt;/p&gt;&#xA;&lt;p&gt;Selecciona una región para ver las comunas más pobladas y sus densidades, y luego elige las comunas que necesites ver. También puedes poner &lt;em&gt;Todas&lt;/em&gt; en el selector de regiones para visualizar juntas comunas de cualquier región del país.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Temas morados oscuro y claro para RStudio</title>
      <link>https://bastianolea.rbind.io/blog/tema_morado/</link>
      <pubDate>Thu, 23 Apr 2026 00:00:00 +0000</pubDate>
      <guid>https://bastianolea.rbind.io/blog/tema_morado/</guid>
      <description>&lt;a href=&#34;tema-featured.png&#34; target=&#34;_blank&#34;&gt;&#xA;&#xA;  &lt;img src=&#34;tema-featured.png&#34; style=&#34;border-radius: 5px; width: 80%; max-width: 700px; display: block; margin: auto; margin-bottom: 8px; margin-top: 8px;&#34;&gt;&#xA;  &#xA;&lt;/a&gt;&#xA;&#xA;&#xA;&#xA;&#xA;&lt;h2 id=&#34;tema-morado-oscuro&#34;&gt;Tema morado oscuro&#xA;  &lt;a href=&#34;#tema-morado-oscuro&#34;&gt;&lt;svg class=&#34;anchor-symbol&#34; aria-hidden=&#34;true&#34; height=&#34;26&#34; width=&#34;26&#34; viewBox=&#34;0 0 22 22&#34; xmlns=&#34;http://www.w3.org/2000/svg&#34;&gt;&#xA;      &lt;path d=&#34;M0 0h24v24H0z&#34; fill=&#34;currentColor&#34;&gt;&lt;/path&gt;&#xA;      &lt;path d=&#34;M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76.0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71.0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71.0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76.0 5-2.24 5-5s-2.24-5-5-5z&#34;&gt;&lt;/path&gt;&#xA;    &lt;/svg&gt;&lt;/a&gt;&#xA;&lt;/h2&gt;&#xA;&lt;p&gt;Tema para RStudio enfocado en una paleta de colores morada y rosada, basado en el tema &lt;em&gt;base16 Default Dark&lt;/em&gt; de &#xA;&lt;a href=&#34;https://github.com/gadenbuie/rsthemes?tab=readme-ov-file&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;&lt;code&gt;{rsthemes}&lt;/code&gt;&lt;/a&gt;, el cual a su vez está basado en &#xA;&lt;a href=&#34;https://github.com/chriskempson/base16&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;base16&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;a href=&#34;tema_oscuro.png&#34; target=&#34;_blank&#34;&gt;&#xA;&#xA;  &lt;img src=&#34;tema_oscuro.png&#34; style=&#34;border-radius: 5px; width: 80%; max-width: 700px; display: block; margin: auto; margin-bottom: 8px; margin-top: 8px;&#34;&gt;&#xA;  &#xA;&lt;/a&gt;&#xA;&#xA;&#xA;&#xA;&#xA;&lt;h2 id=&#34;tema-claro&#34;&gt;Tema claro&#xA;  &lt;a href=&#34;#tema-claro&#34;&gt;&lt;svg class=&#34;anchor-symbol&#34; aria-hidden=&#34;true&#34; height=&#34;26&#34; width=&#34;26&#34; viewBox=&#34;0 0 22 22&#34; xmlns=&#34;http://www.w3.org/2000/svg&#34;&gt;&#xA;      &lt;path d=&#34;M0 0h24v24H0z&#34; fill=&#34;currentColor&#34;&gt;&lt;/path&gt;&#xA;      &lt;path d=&#34;M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76.0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71.0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71.0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76.0 5-2.24 5-5s-2.24-5-5-5z&#34;&gt;&lt;/path&gt;&#xA;    &lt;/svg&gt;&lt;/a&gt;&#xA;&lt;/h2&gt;&#xA;&lt;p&gt;Variación del tema &lt;em&gt;Tomorrow&lt;/em&gt; de RStudio, con una paleta morada y rosada para complementar con el tema morado oscuro.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Explorar datos del Censo de Población y Vivienda 2024 con R</title>
      <link>https://bastianolea.rbind.io/blog/censo_2024/</link>
      <pubDate>Wed, 08 Apr 2026 00:00:00 +0000</pubDate>
      <guid>https://bastianolea.rbind.io/blog/censo_2024/</guid>
      <description>&lt;!---&#xA;https://bastianolea.rbind.io/blog/mapas_censo_2024/&#xA;---&gt;&#xA;&lt;p&gt;Una de las dificultades más frecuentes en el análisis de datos es poder acceder a datos censales. Los censos suelen ser bases de datos de &lt;strong&gt;varios millones de observaciones&lt;/strong&gt;, lo que suele ser demasiado para la mayoría de los computadores, o bien algo imposible con programas como Excel.&lt;/p&gt;&#xA;&lt;p&gt;En este tutorial veremos cómo cargar los datos del &#xA;&lt;a href=&#34;https://censo2024.ine.gob.cl&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Censo de Población y Vivienda 2024&lt;/a&gt; con R para poder acceder a bases de datos de millones de observaciones sin colapsar nuestros computadores.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Curso gratuito: introducción al análisis de datos con R, 2ª versión</title>
      <link>https://bastianolea.rbind.io/blog/curso_gratis_r_intro_2/</link>
      <pubDate>Tue, 07 Apr 2026 00:00:00 +0000</pubDate>
      <guid>https://bastianolea.rbind.io/blog/curso_gratis_r_intro_2/</guid>
      <description>&lt;a href=&#34;curso_r_featured.png&#34; target=&#34;_blank&#34;&gt;&#xA;&#xA;  &lt;img src=&#34;curso_r_featured.png&#34; style=&#34;border-radius: 5px; width: 80%; max-width: 700px; display: block; margin: auto; margin-bottom: 8px; margin-top: 8px;&#34;&gt;&#xA;  &#xA;&lt;/a&gt;&#xA;&lt;div style=&#34;display: flex; align-items: center; gap: 15px; padding: 14px; &#xA;            /*background-color: #A985C650;*/&#xA;            background-color: #DEC4F2;&#xA;            border-radius: 6px;&#xA;            margin: 20px 40px 20px 40px;&#34;&gt;&#xA;  &#xA;  &lt;div style=&#34;flex-shrink: 0;&#34;&gt;&#xA;    &lt;i class=&#34;fas fa-info-circle&#34; style=&#34;font-size: 130%; margin-left: 2px; opacity: 1; color: #9069C0;&#34;&gt;&lt;/i&gt;&#xA;  &lt;/div&gt;&#xA;  &#xA;  &lt;aside style = &#34;font-size: 90%;&#34;&gt;&#xA;    Muchas gracias a todas las personas que participaron! Fue un gusto conocerles! Todo el material de las &#xA;&lt;a href=&#34;#clases&#34;&gt;clases&lt;/a&gt; están disponibles más abajo!&#xA;  &lt;/aside&gt;&#xA;  &#xA;&lt;/div&gt;&#xA;&#xA;&#xA;&#xA;&#xA;&lt;h2 id=&#34;sobre-el-curso&#34;&gt;Sobre el curso&#xA;  &lt;a href=&#34;#sobre-el-curso&#34;&gt;&lt;svg class=&#34;anchor-symbol&#34; aria-hidden=&#34;true&#34; height=&#34;26&#34; width=&#34;26&#34; viewBox=&#34;0 0 22 22&#34; xmlns=&#34;http://www.w3.org/2000/svg&#34;&gt;&#xA;      &lt;path d=&#34;M0 0h24v24H0z&#34; fill=&#34;currentColor&#34;&gt;&lt;/path&gt;&#xA;      &lt;path d=&#34;M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76.0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71.0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71.0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76.0 5-2.24 5-5s-2.24-5-5-5z&#34;&gt;&lt;/path&gt;&#xA;    &lt;/svg&gt;&lt;/a&gt;&#xA;&lt;/h2&gt;&#xA;&lt;p&gt;Segundo curso gratuito de introducción al análisis de datos con R, enfocado en las ciencias sociales.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Medir el ancho de una aplicación Shiny como una variable reactiva y usarla para adaptar los contenidos de la app</title>
      <link>https://bastianolea.rbind.io/blog/shiny_ancho/</link>
      <pubDate>Mon, 06 Apr 2026 00:00:00 +0000</pubDate>
      <guid>https://bastianolea.rbind.io/blog/shiny_ancho/</guid>
      <description>&lt;p&gt;Al desarrollar aplicaciones web &#xA;&lt;a href=&#34;../../../blog/shiny&#34;&gt;Shiny&lt;/a&gt;, tenemos que considerar que van a ser visitadas desde distintos dispositivos: celulares, tablets, computadores grandes, computadores pequeños&amp;hellip; Por eso es importante diseñarlas pensando en la &lt;strong&gt;reactividad&lt;/strong&gt;; es decir, que la aplicación se adapte a distintos tamaños de ventana o pantalla. Si bien Shiny hace gran parte de eso por sí sólo, puede ser útil usar el &lt;strong&gt;ancho de la ventana&lt;/strong&gt; para adaptar los contenidos de la app: mostrar u ocultar elementos, ajustar los gráficos, cambiar un layout, o elegir qué visualización presentar según si el usuario está en un computador de escritorio o en un dispositivo móvil.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Gráficos horribles</title>
      <link>https://bastianolea.rbind.io/blog/graficos_horribles/</link>
      <pubDate>Wed, 01 Apr 2026 00:00:00 +0000</pubDate>
      <guid>https://bastianolea.rbind.io/blog/graficos_horribles/</guid>
      <description>&lt;p&gt;A veces, cuando estoy haciendo una visualización con &lt;code&gt;{ggplot2}&lt;/code&gt;, calculo mal los datos o aplico mal una geometría, y obtengo un gráfico tan horrible que le tomo una foto.&lt;/p&gt;&#xA;&lt;p&gt;En esta publicación voy a mantener una galería de errores de visualización de datos tan horribles que merecen ser registrados para la posteridad:&lt;/p&gt;&#xA;&lt;p&gt;&#xA;&#xA;&#xA;&#xA;&#xA;&lt;a href=&#34;6d7ec29c-b1c0-47dd-bb93-58501f821fe4.png&#34; target=&#34;_blank&#34; style=&#34;display: inline-block; margin: 4px; text-align: center; text-decoration: none; color: inherit; vertical-align: top; width: calc(50% - 16px); max-width: 128px;&#34;&gt;&#xA;  &lt;img src=&#34;6d7ec29c-b1c0-47dd-bb93-58501f821fe4.png&#34; style=&#34;border-radius: 5px; border: solid 1px #31243B30; width: 100%; display: block;&#34;&gt;&#xA;  &#xA;    &lt;span style=&#34;display: block; margin-top: 4px; word-wrap: break-word; font-size:80%; opacity:60%;&#34;&gt;Creo que son demasiadas observaciones&lt;/span&gt;&#xA;  &#xA;&lt;/a&gt;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&lt;a href=&#34;db8d5832-e502-4952-81ad-b212e754d9c5.png&#34; target=&#34;_blank&#34; style=&#34;display: inline-block; margin: 4px; text-align: center; text-decoration: none; color: inherit; vertical-align: top; width: calc(50% - 16px); max-width: 128px;&#34;&gt;&#xA;  &lt;img src=&#34;db8d5832-e502-4952-81ad-b212e754d9c5.png&#34; style=&#34;border-radius: 5px; border: solid 1px #31243B30; width: 100%; display: block;&#34;&gt;&#xA;  &#xA;&lt;/a&gt;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&lt;a href=&#34;58b8f104-0628-43ea-a849-cdafde851536.jpeg&#34; target=&#34;_blank&#34; style=&#34;display: inline-block; margin: 4px; text-align: center; text-decoration: none; color: inherit; vertical-align: top; width: calc(50% - 16px); max-width: 128px;&#34;&gt;&#xA;  &lt;img src=&#34;58b8f104-0628-43ea-a849-cdafde851536.jpeg&#34; style=&#34;border-radius: 5px; border: solid 1px #31243B30; width: 100%; display: block;&#34;&gt;&#xA;  &#xA;    &lt;span style=&#34;display: block; margin-top: 4px; word-wrap: break-word; font-size:80%; opacity:60%;&#34;&gt;Barras apiladas demasiado apiladas&lt;/span&gt;&#xA;  &#xA;&lt;/a&gt;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&lt;a href=&#34;bc6f11fc-d8cb-430b-8719-98b33933c7e7.jpeg&#34; target=&#34;_blank&#34; style=&#34;display: inline-block; margin: 4px; text-align: center; text-decoration: none; color: inherit; vertical-align: top; width: calc(50% - 16px); max-width: 128px;&#34;&gt;&#xA;  &lt;img src=&#34;bc6f11fc-d8cb-430b-8719-98b33933c7e7.jpeg&#34; style=&#34;border-radius: 5px; border: solid 1px #31243B30; width: 100%; display: block;&#34;&gt;&#xA;  &#xA;    &lt;span style=&#34;display: block; margin-top: 4px; word-wrap: break-word; font-size:80%; opacity:60%;&#34;&gt;Santiago cubierto de sangre&lt;/span&gt;&#xA;  &#xA;&lt;/a&gt;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&lt;a href=&#34;205fa434-d562-4af3-9a0d-e57b0795095b.jpeg&#34; target=&#34;_blank&#34; style=&#34;display: inline-block; margin: 4px; text-align: center; text-decoration: none; color: inherit; vertical-align: top; width: calc(50% - 16px); max-width: 128px;&#34;&gt;&#xA;  &lt;img src=&#34;205fa434-d562-4af3-9a0d-e57b0795095b.jpeg&#34; style=&#34;border-radius: 5px; border: solid 1px #31243B30; width: 100%; display: block;&#34;&gt;&#xA;  &#xA;    &lt;span style=&#34;display: block; margin-top: 4px; word-wrap: break-word; font-size:80%; opacity:60%;&#34;&gt;Ni idea de lo que pasó aquí&lt;/span&gt;&#xA;  &#xA;&lt;/a&gt;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&lt;a href=&#34;bd3c8251-4f53-44fa-8a88-ffda75312a5c.jpeg&#34; target=&#34;_blank&#34; style=&#34;display: inline-block; margin: 4px; text-align: center; text-decoration: none; color: inherit; vertical-align: top; width: calc(50% - 16px); max-width: 128px;&#34;&gt;&#xA;  &lt;img src=&#34;bd3c8251-4f53-44fa-8a88-ffda75312a5c.jpeg&#34; style=&#34;border-radius: 5px; border: solid 1px #31243B30; width: 100%; display: block;&#34;&gt;&#xA;  &#xA;    &lt;span style=&#34;display: block; margin-top: 4px; word-wrap: break-word; font-size:80%; opacity:60%;&#34;&gt;Santiago minimalista&lt;/span&gt;&#xA;  &#xA;&lt;/a&gt;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&lt;a href=&#34;grafico_horrible_3.jpeg&#34; target=&#34;_blank&#34; style=&#34;display: inline-block; margin: 4px; text-align: center; text-decoration: none; color: inherit; vertical-align: top; width: calc(50% - 16px); max-width: 128px;&#34;&gt;&#xA;  &lt;img src=&#34;grafico_horrible_3.jpeg&#34; style=&#34;border-radius: 5px; border: solid 1px #31243B30; width: 100%; display: block;&#34;&gt;&#xA;  &#xA;&lt;/a&gt;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&lt;a href=&#34;grafico_horrible_4.jpeg&#34; target=&#34;_blank&#34; style=&#34;display: inline-block; margin: 4px; text-align: center; text-decoration: none; color: inherit; vertical-align: top; width: calc(50% - 16px); max-width: 128px;&#34;&gt;&#xA;  &lt;img src=&#34;grafico_horrible_4.jpeg&#34; style=&#34;border-radius: 5px; border: solid 1px #31243B30; width: 100%; display: block;&#34;&gt;&#xA;  &#xA;&lt;/a&gt;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&lt;a href=&#34;ed8b1d1c-91be-4a66-8ceb-0ec95595e6d1.jpeg&#34; target=&#34;_blank&#34; style=&#34;display: inline-block; margin: 4px; text-align: center; text-decoration: none; color: inherit; vertical-align: top; width: calc(50% - 16px); max-width: 128px;&#34;&gt;&#xA;  &lt;img src=&#34;ed8b1d1c-91be-4a66-8ceb-0ec95595e6d1.jpeg&#34; style=&#34;border-radius: 5px; border: solid 1px #31243B30; width: 100%; display: block;&#34;&gt;&#xA;  &#xA;    &lt;span style=&#34;display: block; margin-top: 4px; word-wrap: break-word; font-size:80%; opacity:60%;&#34;&gt;Animación previo a ser animada&lt;/span&gt;&#xA;  &#xA;&lt;/a&gt;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&lt;a href=&#34;ef453bf7-6a15-4d14-8803-5c0a82dfe294.jpeg&#34; target=&#34;_blank&#34; style=&#34;display: inline-block; margin: 4px; text-align: center; text-decoration: none; color: inherit; vertical-align: top; width: calc(50% - 16px); max-width: 128px;&#34;&gt;&#xA;  &lt;img src=&#34;ef453bf7-6a15-4d14-8803-5c0a82dfe294.jpeg&#34; style=&#34;border-radius: 5px; border: solid 1px #31243B30; width: 100%; display: block;&#34;&gt;&#xA;  &#xA;&lt;/a&gt;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&lt;a href=&#34;fc1f56e2-6356-41d3-b6cc-c707af97fae4.jpeg&#34; target=&#34;_blank&#34; style=&#34;display: inline-block; margin: 4px; text-align: center; text-decoration: none; color: inherit; vertical-align: top; width: calc(50% - 16px); max-width: 128px;&#34;&gt;&#xA;  &lt;img src=&#34;fc1f56e2-6356-41d3-b6cc-c707af97fae4.jpeg&#34; style=&#34;border-radius: 5px; border: solid 1px #31243B30; width: 100%; display: block;&#34;&gt;&#xA;  &#xA;    &lt;span style=&#34;display: block; margin-top: 4px; word-wrap: break-word; font-size:80%; opacity:60%;&#34;&gt;Un clásico probando datos espaciales&lt;/span&gt;&#xA;  &#xA;&lt;/a&gt;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&lt;a href=&#34;Unknown.jpeg&#34; target=&#34;_blank&#34; style=&#34;display: inline-block; margin: 4px; text-align: center; text-decoration: none; color: inherit; vertical-align: top; width: calc(50% - 16px); max-width: 128px;&#34;&gt;&#xA;  &lt;img src=&#34;Unknown.jpeg&#34; style=&#34;border-radius: 5px; border: solid 1px #31243B30; width: 100%; display: block;&#34;&gt;&#xA;  &#xA;&lt;/a&gt;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&lt;a href=&#34;wGGVLQUhKFsEwAAAABJRU5ErkJggg.jpeg&#34; target=&#34;_blank&#34; style=&#34;display: inline-block; margin: 4px; text-align: center; text-decoration: none; color: inherit; vertical-align: top; width: calc(50% - 16px); max-width: 128px;&#34;&gt;&#xA;  &lt;img src=&#34;wGGVLQUhKFsEwAAAABJRU5ErkJggg.jpeg&#34; style=&#34;border-radius: 5px; border: solid 1px #31243B30; width: 100%; display: block;&#34;&gt;&#xA;  &#xA;    &lt;span style=&#34;display: block; margin-top: 4px; word-wrap: break-word; font-size:80%; opacity:60%;&#34;&gt;Mucho texto&lt;/span&gt;&#xA;  &#xA;&lt;/a&gt;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&lt;a href=&#34;grafico_horrible_2.png&#34; target=&#34;_blank&#34; style=&#34;display: inline-block; margin: 4px; text-align: center; text-decoration: none; color: inherit; vertical-align: top; width: calc(50% - 16px); max-width: 128px;&#34;&gt;&#xA;  &lt;img src=&#34;grafico_horrible_2.png&#34; style=&#34;border-radius: 5px; border: solid 1px #31243B30; width: 100%; display: block;&#34;&gt;&#xA;  &#xA;    &lt;span style=&#34;display: block; margin-top: 4px; word-wrap: break-word; font-size:80%; opacity:60%;&#34;&gt;Fuente: Censo&lt;/span&gt;&#xA;  &#xA;&lt;/a&gt;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&lt;a href=&#34;4e1e15b9-caea-4f79-9dfc-d8819738c326.png&#34; target=&#34;_blank&#34; style=&#34;display: inline-block; margin: 4px; text-align: center; text-decoration: none; color: inherit; vertical-align: top; width: calc(50% - 16px); max-width: 128px;&#34;&gt;&#xA;  &lt;img src=&#34;4e1e15b9-caea-4f79-9dfc-d8819738c326.png&#34; style=&#34;border-radius: 5px; border: solid 1px #31243B30; width: 100%; display: block;&#34;&gt;&#xA;  &#xA;&lt;/a&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Extensiones recomendadas para mejorar tus gráficos de `{ggplot2}`</title>
      <link>https://bastianolea.rbind.io/blog/ggplot_extensiones/</link>
      <pubDate>Fri, 27 Mar 2026 00:00:00 +0000</pubDate>
      <guid>https://bastianolea.rbind.io/blog/ggplot_extensiones/</guid>
      <description>&lt;div style=&#34;display: flex; align-items: center; gap: 15px; padding: 14px; &#xA;            background-color: #493365;&#xA;            border-radius: 6px;&#xA;            margin: 20px 40px 20px 40px;&#34;&gt;&#xA;  &#xA;  &lt;div style=&#34;flex-shrink: 0;&#34;&gt;&#xA;    &lt;i class=&#34;fas fa-triangle-exclamation&#34; style=&#34;font-size: 130%; margin-left: 2px; opacity: 1; color: #EAD2FA;&#34;&gt;&lt;/i&gt;&#xA;  &lt;/div&gt;&#xA;  &#xA;  &lt;aside style = &#34;font-size: 90%; color: #EAD2FA;&#34;&gt;&#xA;    Publicación en construcción! A medida que encuentre (y recuerde) más extensiones las iré listando aquí.&#xA;  &lt;/aside&gt;&#xA;  &#xA;&lt;/div&gt;&#xA;&lt;!---&#xA;&lt;a href=&#34;ggplot2_extensiones_featured.png&#34; target=&#34;_blank&#34;&gt;&#xA;&#xA;  &lt;img src=&#34;ggplot2_extensiones_featured.png&#34; style=&#39;float: right; border-radius: 5px; max-width: 300px; margin-left: 24px; margin-bottom: 24px;&#39;&gt;&#xA;  &#xA;&lt;/a&gt;&#xA;--&gt;&#xA;&lt;div class=&#39;imagen_lateral&#39;&gt;&#xA;  &lt;img src=&#34;ggplot2_extensiones.png&#34;&gt;&#xA;&lt;/div&gt;&#xA;&lt;p&gt;Una de las ventajas de usar &lt;code&gt;{ggplot2}&lt;/code&gt; para visualización de datos en R es su &lt;strong&gt;flexibilidad&lt;/strong&gt; y capacidad de &lt;strong&gt;personalización&lt;/strong&gt;. Existen &#xA;&lt;a href=&#34;https://exts.ggplot2.tidyverse.org&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;muchas extensiones desarrolladas por la comunidad&lt;/a&gt; para agregar nuevas funcionalidades, formas de visualizar datos, mejoras, paletas de colores y más.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Galería de libros de _Goodreads_ para tu blog o sitio web con R y Quarto</title>
      <link>https://bastianolea.rbind.io/blog/2026-03-26/</link>
      <pubDate>Thu, 26 Mar 2026 00:00:00 +0000</pubDate>
      <guid>https://bastianolea.rbind.io/blog/2026-03-26/</guid>
      <description>&lt;p&gt;Para mi &#xA;&lt;a href=&#34;https://bastimapache.cl&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;blog personal, bastimapache.cl&lt;/a&gt; quise crear &#xA;&lt;a href=&#34;https://bastimapache.cl/blog.html#category=libros&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;publicaciones que muestren los libros que he leído cada año&lt;/a&gt;, los cuales registro en mi cuenta de &#xA;&lt;a href=&#34;https://www.goodreads.com/user/show/53224910-basti-n-olea-herrera&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Goodreads&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;a href=&#34;galeria_libros.jpg&#34; target=&#34;_blank&#34;&gt;&#xA;&#xA;  &lt;img src=&#34;galeria_libros.jpg&#34; style=&#34;border-radius: 5px; width: 80%; max-width: 700px; display: block; margin: auto; margin-bottom: 8px; margin-top: 8px;&#34;&gt;&#xA;  &#xA;&lt;/a&gt;&#xA;&lt;p&gt;Para esto, usé R para cargar el archivo de &#xA;&lt;a href=&#34;https://help.goodreads.com/s/article/How-do-I-import-or-export-my-books-1553870934590&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;exportación&lt;/a&gt; de datos de Goodreads, que te entrega un archivo &lt;code&gt;.csv&lt;/code&gt; con tus libros leídos, puntuación, fecha de lectura, etc.&lt;/p&gt;&#xA;&lt;div style=&#34;display: flex; align-items: center; gap: 15px; padding: 14px; &#xA;            /*background-color: #A985C650;*/&#xA;            background-color: #DEC4F2;&#xA;            border-radius: 6px;&#xA;            margin: 20px 40px 20px 40px;&#34;&gt;&#xA;  &#xA;  &lt;div style=&#34;flex-shrink: 0;&#34;&gt;&#xA;    &lt;i class=&#34;fas fa-info-circle&#34; style=&#34;font-size: 130%; margin-left: 2px; opacity: 1; color: #9069C0;&#34;&gt;&lt;/i&gt;&#xA;  &lt;/div&gt;&#xA;  &#xA;  &lt;aside style = &#34;font-size: 90%;&#34;&gt;&#xA;    Si quieres crear tu propio sitio web o blog con Quarto + R y subirlo a internet &lt;strong&gt;gratis&lt;/strong&gt;, &#xA;&lt;a href=&#34;https://bastianolea.rbind.io/blog/tutorial_quarto_github_pages/&#34;&gt;sigue este tutorial que hice!&lt;/a&gt;&#xA;  &lt;/aside&gt;&#xA;  &#xA;&lt;/div&gt;&#xA;&#xA;&#xA;&#xA;&#xA;&lt;h2 id=&#34;cargar-datos-de-goodreads&#34;&gt;Cargar datos de &lt;em&gt;Goodreads&lt;/em&gt;&#xA;  &lt;a href=&#34;#cargar-datos-de-goodreads&#34;&gt;&lt;svg class=&#34;anchor-symbol&#34; aria-hidden=&#34;true&#34; height=&#34;26&#34; width=&#34;26&#34; viewBox=&#34;0 0 22 22&#34; xmlns=&#34;http://www.w3.org/2000/svg&#34;&gt;&#xA;      &lt;path d=&#34;M0 0h24v24H0z&#34; fill=&#34;currentColor&#34;&gt;&lt;/path&gt;&#xA;      &lt;path d=&#34;M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76.0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71.0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71.0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76.0 5-2.24 5-5s-2.24-5-5-5z&#34;&gt;&lt;/path&gt;&#xA;    &lt;/svg&gt;&lt;/a&gt;&#xA;&lt;/h2&gt;&#xA;&lt;p&gt;Carguemos los datos que obtenemos de la exportación de &lt;em&gt;Goodreads:&lt;/em&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Plataforma de análisis: Índice de Brechas de Género</title>
      <link>https://bastianolea.rbind.io/blog/indice_brechas_genero/</link>
      <pubDate>Thu, 26 Mar 2026 00:00:00 +0000</pubDate>
      <guid>https://bastianolea.rbind.io/blog/indice_brechas_genero/</guid>
      <description>&lt;p&gt;&lt;a href=&#34;ibg_0.jpg&#34; target=&#34;_blank&#34;&gt;&#xA;&#xA;  &lt;img src=&#34;ibg_0.jpg&#34; style=&#39;border-radius: 5px; width: 400px; display: block; margin: auto; margin-bottom: 8px; margin-top: 8px;&#39;&gt;&#xA;  &#xA;&lt;/a&gt;&#xA;&lt;figcaption style=&#34;max-width: 380px; margin:auto; text-align: center; font-size:80%; opacity:60%; margin-top:-8px; margin-bottom: 24px;&#34;&gt;&#xA;  Inicio de la plataforma del IBG&#xA;&lt;/figcaption&gt;&lt;/p&gt;&#xA;&lt;p&gt;El &lt;strong&gt;&#xA;&lt;a href=&#34;https://www.descentralizachile.cl/ibg&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Índice de Brechas de Género&lt;/a&gt;&lt;/strong&gt; es un nuevo instrumento estadístico desarrollado por la Subsecretaría de Desarrollo Regional y Administrativo (Subdere), diseñado para medir brechas de género a nivel comunal y regional en el país. El IBG se basa en &lt;strong&gt;52 indicadores de nivel comunal y regional&lt;/strong&gt;, que abarcan las dimensiones de cultura, educación, salud,&#xA;laboral, participación y social.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Curso gratuito: introducción al análisis de datos con R, 2ª versión</title>
      <link>https://bastianolea.rbind.io/clases/curso_gratis_r_intro_2/</link>
      <pubDate>Wed, 25 Mar 2026 19:30:00 +0000</pubDate>
      <guid>https://bastianolea.rbind.io/clases/curso_gratis_r_intro_2/</guid>
      <description>&lt;a href=&#34;curso_r_featured.png&#34; target=&#34;_blank&#34;&gt;&#xA;&#xA;  &lt;img src=&#34;curso_r_featured.png&#34; style=&#34;border-radius: 5px; width: 80%; max-width: 700px; display: block; margin: auto; margin-bottom: 8px; margin-top: 8px;&#34;&gt;&#xA;  &#xA;&lt;/a&gt;&#xA;&lt;div style=&#34;display: flex; align-items: center; gap: 15px; padding: 14px; &#xA;            /*background-color: #A985C650;*/&#xA;            background-color: #DEC4F2;&#xA;            border-radius: 6px;&#xA;            margin: 20px 40px 20px 40px;&#34;&gt;&#xA;  &#xA;  &lt;div style=&#34;flex-shrink: 0;&#34;&gt;&#xA;    &lt;i class=&#34;fas fa-info-circle&#34; style=&#34;font-size: 130%; margin-left: 2px; opacity: 1; color: #9069C0;&#34;&gt;&lt;/i&gt;&#xA;  &lt;/div&gt;&#xA;  &#xA;  &lt;aside style = &#34;font-size: 90%;&#34;&gt;&#xA;    Muchas gracias a todas las personas que participaron! Fue un gusto conocerles! Todo el material de las &#xA;&lt;a href=&#34;#clases&#34;&gt;clases&lt;/a&gt; están disponibles más abajo!&#xA;  &lt;/aside&gt;&#xA;  &#xA;&lt;/div&gt;&#xA;&#xA;&#xA;&#xA;&#xA;&lt;h2 id=&#34;sobre-el-curso&#34;&gt;Sobre el curso&#xA;  &lt;a href=&#34;#sobre-el-curso&#34;&gt;&lt;svg class=&#34;anchor-symbol&#34; aria-hidden=&#34;true&#34; height=&#34;26&#34; width=&#34;26&#34; viewBox=&#34;0 0 22 22&#34; xmlns=&#34;http://www.w3.org/2000/svg&#34;&gt;&#xA;      &lt;path d=&#34;M0 0h24v24H0z&#34; fill=&#34;currentColor&#34;&gt;&lt;/path&gt;&#xA;      &lt;path d=&#34;M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76.0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71.0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71.0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76.0 5-2.24 5-5s-2.24-5-5-5z&#34;&gt;&lt;/path&gt;&#xA;    &lt;/svg&gt;&lt;/a&gt;&#xA;&lt;/h2&gt;&#xA;&lt;p&gt;Segundo curso gratuito de introducción al análisis de datos con R, enfocado en las ciencias sociales.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Plataforma de visualización de resultados del Estudio de Brechas Comunales</title>
      <link>https://bastianolea.rbind.io/blog/estudio_brechas_comunales/</link>
      <pubDate>Tue, 24 Mar 2026 00:00:00 +0000</pubDate>
      <guid>https://bastianolea.rbind.io/blog/estudio_brechas_comunales/</guid>
      <description>&lt;p&gt;&lt;a href=&#34;ebc_0.jpeg&#34; target=&#34;_blank&#34;&gt;&#xA;&#xA;  &lt;img src=&#34;ebc_0.jpeg&#34; style=&#39;border-radius: 5px; width: 300px; display: block; margin: auto; margin-bottom: 8px; margin-top: 8px;&#39;&gt;&#xA;  &#xA;&lt;/a&gt;&#xA;&lt;figcaption style=&#34;max-width: 380px; margin:auto; text-align: center; font-size:80%; opacity:60%; margin-top:-8px; margin-bottom: 24px;&#34;&gt;&#xA;  Inicio de la plataforma del EBC&#xA;&lt;/figcaption&gt;&lt;/p&gt;&#xA;&lt;a href=&#34;ebc_1.jpeg&#34; target=&#34;_blank&#34;&gt;&#xA;&#xA;  &lt;img src=&#34;ebc_1.jpeg&#34; style=&#39;float: right; border-radius: 5px; max-width: 160px; margin-left: 24px; margin-bottom: 24px;&#39;&gt;&#xA;  &#xA;&lt;/a&gt;&#xA;&lt;p&gt;Ya está disponible la &#xA;&lt;a href=&#34;https://www.descentralizachile.cl/ebc/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;plataforma de visualización&lt;/a&gt; de los resultados del &lt;strong&gt;Estudio de Brechas Comunales&lt;/strong&gt; de la Subsecretaría de Desarrollo Regional y Administrativo (Subdere).&lt;/p&gt;&#xA;&lt;p&gt;Este estudio mide &lt;strong&gt;brechas en infraestructura y servicios&lt;/strong&gt; a través de &lt;strong&gt;59 indicadores&lt;/strong&gt; de nivel &lt;strong&gt;comunal&lt;/strong&gt;, tomando en consideración las &lt;strong&gt;diferencias territoriales&lt;/strong&gt; de comunas urbanas, mixtas y rurales.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Primera reunión: grupo de usuari@s de R, Santiago de Chile</title>
      <link>https://bastianolea.rbind.io/blog/2026-03-12/</link>
      <pubDate>Thu, 12 Mar 2026 00:00:00 +0000</pubDate>
      <guid>https://bastianolea.rbind.io/blog/2026-03-12/</guid>
      <description>&lt;div style=&#34;display: flex; align-items: center; gap: 15px; padding: 14px; &#xA;            /*background-color: #A985C650;*/&#xA;            background-color: #DEC4F2;&#xA;            border-radius: 6px;&#xA;            margin: 20px 40px 20px 40px;&#34;&gt;&#xA;  &#xA;  &lt;div style=&#34;flex-shrink: 0;&#34;&gt;&#xA;    &lt;i class=&#34;fas fa-info-circle&#34; style=&#34;font-size: 130%; margin-left: 2px; opacity: 1; color: #9069C0;&#34;&gt;&lt;/i&gt;&#xA;  &lt;/div&gt;&#xA;  &#xA;  &lt;aside style = &#34;font-size: 90%;&#34;&gt;&#xA;    La reunión ya fue, y salió super bien! &#xA;&lt;a href=&#34;https://santiagorusers.github.io/posts/2026-03-18/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Revisa lo que hicimos en esta publicación&lt;/a&gt; del sitio del grupo de usuarios.&#xA;  &lt;/aside&gt;&#xA;  &#xA;&lt;/div&gt;&#xA;&lt;p&gt;Hace tiempo que estamos coordinando un espacio de colaboración entre &lt;strong&gt;usuari@s de R en Chile&lt;/strong&gt;, y pronto verá la luz!&lt;/p&gt;</description>
    </item>
    <item>
      <title>Extracción de datos estructurados desde texto usando IA</title>
      <link>https://bastianolea.rbind.io/blog/datos_estructurados_llm/</link>
      <pubDate>Sat, 07 Mar 2026 00:00:00 +0000</pubDate>
      <guid>https://bastianolea.rbind.io/blog/datos_estructurados_llm/</guid>
      <description>&lt;div style=&#34;display: flex; align-items: center; gap: 15px; padding: 14px; &#xA;            background-color: #493365;&#xA;            border-radius: 6px;&#xA;            margin: 20px 40px 20px 40px;&#34;&gt;&#xA;  &#xA;  &lt;div style=&#34;flex-shrink: 0;&#34;&gt;&#xA;    &lt;i class=&#34;fas fa-triangle-exclamation&#34; style=&#34;font-size: 130%; margin-left: 2px; opacity: 1; color: #EAD2FA;&#34;&gt;&lt;/i&gt;&#xA;  &lt;/div&gt;&#xA;  &#xA;  &lt;aside style = &#34;font-size: 90%; color: #EAD2FA;&#34;&gt;&#xA;    Este tutorial lo hice con los aprendizajes que obtuve del excelente &#xA;&lt;a href=&#34;https://thisisnic.github.io/rainbowrworkshop/code.html&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;workshop &lt;em&gt;LLMs in R for Data Analysis&lt;/em&gt;&lt;/a&gt; impartido por &#xA;&lt;a href=&#34;https://niccrane.com&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Nic Crane&lt;/a&gt; en la fabulosa &#xA;&lt;a href=&#34;https://conference.rainbowr.org&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;conferencia de RainbowR 2026&lt;/a&gt;&#xA;  &lt;/aside&gt;&#xA;  &#xA;&lt;/div&gt;&#xA;&lt;p&gt;Los modelos de lenguaje (LLMs, también llamados coloquialmente &lt;em&gt;inteligencia artificial&lt;/em&gt;) nos pueden ayudar a &lt;strong&gt;transformar textos de cualquier tipo en datos estructurados&lt;/strong&gt;. Esto significa que puedes convertir &lt;strong&gt;entrevistas, reseñas, opiniones, correos, noticias y más&lt;/strong&gt; en &lt;strong&gt;bases de datos&lt;/strong&gt; con la información que necesitas debidamente ordenada en filas y columnas.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Interactúa con modelos de lenguaje (LLM) y chatea con IAs directamente desde R</title>
      <link>https://bastianolea.rbind.io/blog/ellmer/</link>
      <pubDate>Thu, 26 Feb 2026 00:00:00 +0000</pubDate>
      <guid>https://bastianolea.rbind.io/blog/ellmer/</guid>
      <description>&lt;p&gt;Chatear con modelos de lenguaje (LLM) o &lt;em&gt;IAs&lt;/em&gt; —como se les llama coloquialmente— puede tener muchos usos para el análisis de datos. Si bien siempre se puede usar IA desde las páginas/apps de los proveedores más populares, cuando analizamos datos es mejor &lt;strong&gt;usar IA directamente desde R&lt;/strong&gt;. Así podemos &lt;strong&gt;entregar datos&lt;/strong&gt; a la IA, aprovechar las capacidades de la IA para hacer funciones y desbloquear análisis complejos, &lt;strong&gt;integrar IA&lt;/strong&gt; en nuestro procesamiento de datos, &lt;strong&gt;mantener el control&lt;/strong&gt; de cómo y dónde se usa la IA en nuestro análisis, usar IA de manera &lt;strong&gt;reproducible&lt;/strong&gt;, y usar directamente los resultados de la IA en nuestros flujos de trabajo.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Renombrar archivos desde R</title>
      <link>https://bastianolea.rbind.io/blog/2026-02-25/</link>
      <pubDate>Wed, 25 Feb 2026 00:00:00 +0000</pubDate>
      <guid>https://bastianolea.rbind.io/blog/2026-02-25/</guid>
      <description>&lt;p&gt;Una tarea común en al trabajar con datos (y también en la computación en general) es necesitar renombrar muchos archivos. R puede ayudarnos a realizar este tipo de tareas repetitivas, dado que, además de ser un lenguaje centrado en el análisis de datos, R también puede usarse para cualquier otro propósito!&lt;/p&gt;&#xA;&#xA;&#xA;&#xA;&#xA;&lt;h2 id=&#34;inspeccionar-directorios-y-archivos-con-r&#34;&gt;Inspeccionar directorios y archivos con R&#xA;  &lt;a href=&#34;#inspeccionar-directorios-y-archivos-con-r&#34;&gt;&lt;svg class=&#34;anchor-symbol&#34; aria-hidden=&#34;true&#34; height=&#34;26&#34; width=&#34;26&#34; viewBox=&#34;0 0 22 22&#34; xmlns=&#34;http://www.w3.org/2000/svg&#34;&gt;&#xA;      &lt;path d=&#34;M0 0h24v24H0z&#34; fill=&#34;currentColor&#34;&gt;&lt;/path&gt;&#xA;      &lt;path d=&#34;M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76.0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71.0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71.0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76.0 5-2.24 5-5s-2.24-5-5-5z&#34;&gt;&lt;/path&gt;&#xA;    &lt;/svg&gt;&lt;/a&gt;&#xA;&lt;/h2&gt;&#xA;&lt;p&gt;Hagamos como que tenemos una carpeta llena de archivos (pueden ser imágenes, documentos PDF, u otros documentos), en este caso la carpeta se llama &lt;code&gt;reportes&lt;/code&gt; y dentro tiene 10 documentos PDF.&lt;/p&gt;</description>
    </item>
    <item>
      <title>App: Suicidios en Chile (2017-2024) desde una perspectiva de género</title>
      <link>https://bastianolea.rbind.io/blog/app_suicidios_genero/</link>
      <pubDate>Sat, 21 Feb 2026 00:00:00 +0000</pubDate>
      <guid>https://bastianolea.rbind.io/blog/app_suicidios_genero/</guid>
      <description>&lt;p&gt;&#xA;&lt;a href=&#34;https://bastianolea.github.io/minsal_suicidios_genero/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Sitio web con visualizaciones&lt;/a&gt; que exploran los datos de &lt;strong&gt;egresos médicos&lt;/strong&gt; del Ministerio de Salud de Chile, distinguiendo entre intentos de suicidio y suicidios consumados.&lt;/p&gt;&#xA;&lt;p&gt;Los gráficos buscan describir las diferencias de género en el fenómeno del suicidio, mostrando desigualdades en la cantidad de intentos y en las víctimas fatales, pero también en los métodos utilizados por hombres y mujeres.&lt;/p&gt;&#xA;&lt;a href=&#34;suicidios_genero_1_featured.png&#34; target=&#34;_blank&#34;&gt;&#xA;&#xA;  &lt;img src=&#34;suicidios_genero_1_featured.png&#34; style=&#34;border-radius: 5px; width: 80%; max-width: 700px; display: block; margin: auto; margin-bottom: 8px; margin-top: 8px;&#34;&gt;&#xA;  &#xA;&lt;/a&gt;&#xA;&lt;a href=&#34;suicidios_genero_2.png&#34; target=&#34;_blank&#34;&gt;&#xA;&#xA;  &lt;img src=&#34;suicidios_genero_2.png&#34; style=&#34;border-radius: 5px; width: 80%; max-width: 700px; display: block; margin: auto; margin-bottom: 8px; margin-top: 8px;&#34;&gt;&#xA;  &#xA;&lt;/a&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;Los datos de egresos médicos incluyen el diagnóstico de las y los pacientes, su género, su ubicación, y si sobrevivieron o no a sus aflicciones. Según el diagnóstico de cada paciente, es posible identificar casos de lesiones autoinfligidas intencionalmente, interpretables como intentos de suicidio. En base al egreso con vida (alta médica) o sin vida (fallecimiento) de los pacientes, se pueden distinguir intentos de suicidio y suicidios consumados.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Redactar textos basados en datos usando IA desde R</title>
      <link>https://bastianolea.rbind.io/blog/redactar_texto_llm/</link>
      <pubDate>Thu, 19 Feb 2026 00:00:00 +0000</pubDate>
      <guid>https://bastianolea.rbind.io/blog/redactar_texto_llm/</guid>
      <description>&lt;p&gt;&#xA;&lt;a href=&#34;../../../blog/redactar_texto/&#34;&gt;Como vimos en un post anterior&lt;/a&gt;, podemos usar funcionalidades de R para generar párrafos de texto que se basen en datos, para integrar cifras y otros valores de un &lt;em&gt;dataframe&lt;/em&gt; en un párrafo diseñado para resumir o presentar la información.&lt;/p&gt;&#xA;&lt;p&gt;Si bien esto produce textos de máxima precisión y nos entrega todo el control sobre el texto generado, también existen &lt;strong&gt;herramientas de inteligencia artificial&lt;/strong&gt; que pueden facilitar este trabajo.&lt;/p&gt;&#xA;&lt;div style=&#34;display: flex; align-items: center; gap: 15px; padding: 14px; &#xA;            /*background-color: #A985C650;*/&#xA;            background-color: #DEC4F2;&#xA;            border-radius: 6px;&#xA;            margin: 20px 40px 20px 40px;&#34;&gt;&#xA;  &#xA;  &lt;div style=&#34;flex-shrink: 0;&#34;&gt;&#xA;    &lt;i class=&#34;fas fa-info-circle&#34; style=&#34;font-size: 130%; margin-left: 2px; opacity: 1; color: #9069C0;&#34;&gt;&lt;/i&gt;&#xA;  &lt;/div&gt;&#xA;  &#xA;  &lt;aside style = &#34;font-size: 90%;&#34;&gt;&#xA;    Al usar IA siempre debemos recordar que obtendremos &lt;strong&gt;resultados probabilísticos&lt;/strong&gt;; es decir que serán resultados que pueden &lt;strong&gt;variar&lt;/strong&gt;, pueden &lt;strong&gt;contener errores&lt;/strong&gt;, y que &lt;strong&gt;no son reproducibles&lt;/strong&gt;.&#xA;  &lt;/aside&gt;&#xA;  &#xA;&lt;/div&gt;&#xA;&lt;p&gt;Existen paquetes que hacen muy fácil usar IA en R!&lt;/p&gt;</description>
    </item>
    <item>
      <title>Cómo dejar de repetirte y escribir código más eficiente en R</title>
      <link>https://bastianolea.rbind.io/blog/repetirse/</link>
      <pubDate>Wed, 18 Feb 2026 00:00:00 +0000</pubDate>
      <guid>https://bastianolea.rbind.io/blog/repetirse/</guid>
      <description>&lt;p&gt;El otro día me llegó un script (muy probablemente hecho por una IA) de más de 9.000 líneas!&lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://bastianolea.rbind.io/blog/repetirse/script.mov&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;Igual era entendible, porque era un script que producía cientos de gráficos. Pero revisando el script me doy cuenta de que también &lt;strong&gt;se repiten cientos de veces los mismos patrones de código.&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;p&gt;Scripts como éstos suelen ser apenas una docena de bloques de código distintos, pero repetidos muchas veces cada uno con mínimas diferencias entre ellos: referencias a columnas distintas, etc.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Crea árboles de las carpetas de tus proyectos con `{printtree}` en R</title>
      <link>https://bastianolea.rbind.io/blog/2026-02-18/</link>
      <pubDate>Wed, 18 Feb 2026 00:00:00 +0000</pubDate>
      <guid>https://bastianolea.rbind.io/blog/2026-02-18/</guid>
      <description>&lt;p&gt;Recientemente &lt;strong&gt;&#xA;&lt;a href=&#34;https://www.linkedin.com/company/estacion-r/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Estación R&lt;/a&gt;&lt;/strong&gt; compartió su &#xA;&lt;a href=&#34;https://www.linkedin.com/posts/estacion-r_rstats-rstatses-rtips-activity-7429863625126977536-Sqng&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;paquete del día&lt;/a&gt; y lo encontré útil.&lt;/p&gt;&#xA;&lt;div style=&#34;width: 100%; text-align: center;&#34;&gt;&#xA;&lt;iframe src=&#34;https://www.linkedin.com/embed/feed/update/urn:li:share:7429863623935684608&#34; height=&#34;1063&#34; width=&#34;504&#34; frameborder=&#34;0&#34; allowfullscreen=&#34;&#34; title=&#34;Publicación integrada&#34;&gt;&lt;/iframe&gt;&#xA;&lt;/div&gt;&#xA;&lt;p&gt;Como dice el post, &lt;code&gt;{printtree}&lt;/code&gt; crea árboles de las carpetas de tus proyectos, lo que es muy útil para tener una visión general de la estructura de tus proyectos. Esto puede ser útil de incluir en &lt;strong&gt;informes, reportes o documentación&lt;/strong&gt; de proyectos en los que trabajes, para &lt;strong&gt;dejar por escrito la estructura del proyecto&lt;/strong&gt; y así poder comentar sobre ella para lectores.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Redactar textos basados en datos automáticamente con R: describiendo resultados del censo de población</title>
      <link>https://bastianolea.rbind.io/blog/redactar_texto/</link>
      <pubDate>Thu, 12 Feb 2026 00:00:00 +0000</pubDate>
      <guid>https://bastianolea.rbind.io/blog/redactar_texto/</guid>
      <description>&lt;div style=&#34;display: flex; align-items: center; gap: 15px; padding: 14px; &#xA;            background-color: #493365;&#xA;            border-radius: 6px;&#xA;            margin: 20px 40px 20px 40px;&#34;&gt;&#xA;  &#xA;  &lt;div style=&#34;flex-shrink: 0;&#34;&gt;&#xA;    &lt;i class=&#34;fas fa-triangle-exclamation&#34; style=&#34;font-size: 130%; margin-left: 2px; opacity: 1; color: #EAD2FA;&#34;&gt;&lt;/i&gt;&#xA;  &lt;/div&gt;&#xA;  &#xA;  &lt;aside style = &#34;font-size: 90%; color: #EAD2FA;&#34;&gt;&#xA;    También tengo &#xA;&lt;a href=&#34;https://bastianolea.rbind.io/blog/redactar_texto_llm&#34;&gt;una versión alternativa de este tutorial donde usamos IA para generar textos desde R.&lt;/a&gt; Pero ten en consideración que &lt;strong&gt;usar IA y aprender son cosas distintas!&lt;/strong&gt; Recomiendo aprender primero y luego apoyarte en IA.&#xA;  &lt;/aside&gt;&#xA;  &#xA;&lt;/div&gt;&#xA;&lt;p&gt;Luego de explorar o procesar un conjunto de datos, toca &lt;strong&gt;presentar los resultados&lt;/strong&gt;. Si bien esto nos hace pensar en &#xA;&lt;a href=&#34;../../../tags/visualizaci%c3%b3n-de-datos/&#34;&gt;gráficos&lt;/a&gt;, &#xA;&lt;a href=&#34;../../../tags/tablas/&#34;&gt;tablas&lt;/a&gt; o &#xA;&lt;a href=&#34;../../../tags/quarto/&#34;&gt;reportes&lt;/a&gt;, el &lt;strong&gt;texto&lt;/strong&gt; también es una forma de comunicar resultados que puede ser &lt;strong&gt;optimizada&lt;/strong&gt; mediante la programación.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Curso gratuito: introducción al análisis de datos con R</title>
      <link>https://bastianolea.rbind.io/blog/curso_gratis_r_intro_1/</link>
      <pubDate>Mon, 09 Feb 2026 00:00:00 +0000</pubDate>
      <guid>https://bastianolea.rbind.io/blog/curso_gratis_r_intro_1/</guid>
      <description>&lt;a href=&#34;curso_r_featured.png&#34; target=&#34;_blank&#34;&gt;&#xA;&#xA;  &lt;img src=&#34;curso_r_featured.png&#34; style=&#34;border-radius: 5px; width: 80%; max-width: 700px; display: block; margin: auto; margin-bottom: 8px; margin-top: 8px;&#34;&gt;&#xA;  &#xA;&lt;/a&gt;&#xA;&#xA;&#xA;&lt;div style=&#34;display: flex; align-items: center; gap: 15px; padding: 14px; &#xA;            background-color: #493365;&#xA;            border-radius: 6px;&#xA;            margin: 20px 40px 20px 40px;&#34;&gt;&#xA;  &#xA;  &lt;div style=&#34;flex-shrink: 0;&#34;&gt;&#xA;    &lt;i class=&#34;fas fa-triangle-exclamation&#34; style=&#34;font-size: 130%; margin-left: 2px; opacity: 1; color: #EAD2FA;&#34;&gt;&lt;/i&gt;&#xA;  &lt;/div&gt;&#xA;  &#xA;  &lt;aside style = &#34;font-size: 90%; color: #EAD2FA;&#34;&gt;&#xA;    Muchas gracias a todas las personas que participaron 🤍 Fue un placer poder enseñarles lo básico de estas herramientas a un curso mayoritariamente conformado por mujeres y personas LBGTIQ. Las &#xA;&lt;a href=&#34;#grabaciones&#34;&gt;grabaciones&lt;/a&gt; y las &#xA;&lt;a href=&#34;#diapositivas&#34;&gt;diapositivas&lt;/a&gt; están disponibles en este post!&#xA;  &lt;/aside&gt;&#xA;  &#xA;&lt;/div&gt;&#xA;&#xA;&#xA;&#xA;&#xA;&lt;h3 id=&#34;quieres-entrar-al-mundo-de-los-datos-pero-no-sabes-cómo&#34;&gt;¿Quieres entrar al mundo de los datos, pero no sabes cómo?&#xA;  &lt;a href=&#34;#quieres-entrar-al-mundo-de-los-datos-pero-no-sabes-c%c3%b3mo&#34;&gt;&lt;svg class=&#34;anchor-symbol&#34; aria-hidden=&#34;true&#34; height=&#34;26&#34; width=&#34;26&#34; viewBox=&#34;0 0 22 22&#34; xmlns=&#34;http://www.w3.org/2000/svg&#34;&gt;&#xA;      &lt;path d=&#34;M0 0h24v24H0z&#34; fill=&#34;currentColor&#34;&gt;&lt;/path&gt;&#xA;      &lt;path d=&#34;M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76.0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71.0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71.0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76.0 5-2.24 5-5s-2.24-5-5-5z&#34;&gt;&lt;/path&gt;&#xA;    &lt;/svg&gt;&lt;/a&gt;&#xA;&lt;/h3&gt;&#xA;&lt;p&gt;Existen muchas herramientas para analizar datos, pero hay algo que casi todas tienen en común: la programación. Pero no es tan difícil como suena!&lt;/p&gt;</description>
    </item>
    <item>
      <title>Gráficos de puente en `{ggplot2}`</title>
      <link>https://bastianolea.rbind.io/blog/ggplot_puente/</link>
      <pubDate>Thu, 05 Feb 2026 00:00:00 +0000</pubDate>
      <guid>https://bastianolea.rbind.io/blog/ggplot_puente/</guid>
      <description>&lt;p&gt;Me pidieron reproducir con R un &lt;strong&gt;gráfico de puente&lt;/strong&gt; que habían hecho en Excel, para poder crear decenas de versiones del mismo gráfico a partir de datos distintos y/o actualizados.&lt;/p&gt;&#xA;&lt;p&gt;Éste era el gráfico original:&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&#34;original.png&#34; target=&#34;_blank&#34;&gt;&#xA;&#xA;  &lt;img src=&#34;original.png&#34; style=&#39;border-radius: 5px; width: 50%; display: block; margin: auto; margin-bottom: 8px; margin-top: 8px;&#39;&gt;&#xA;  &#xA;&lt;/a&gt;&#xA;&lt;figcaption style=&#34;max-width: 380px; margin:auto; text-align: center; font-size:80%; opacity:60%; margin-top:-8px; margin-bottom: 24px;&#34;&gt;&#xA;  El gráfico de puente original&#xA;&lt;/figcaption&gt;&lt;/p&gt;&#xA;&lt;p&gt;Los &lt;strong&gt;gráficos de puente&lt;/strong&gt; son gráficos donde las barras representan el cambio de un valor original en el tiempo, o bien, la contribución de varias cifras a un valor final, en la forma de barras escalonadas.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Curso gratuito: introducción al análisis de datos con R</title>
      <link>https://bastianolea.rbind.io/clases/curso_gratis_r_intro_1/</link>
      <pubDate>Tue, 03 Feb 2026 19:30:00 +0000</pubDate>
      <guid>https://bastianolea.rbind.io/clases/curso_gratis_r_intro_1/</guid>
      <description>&lt;a href=&#34;curso_r_featured.png&#34; target=&#34;_blank&#34;&gt;&#xA;&#xA;  &lt;img src=&#34;curso_r_featured.png&#34; style=&#34;border-radius: 5px; width: 80%; max-width: 700px; display: block; margin: auto; margin-bottom: 8px; margin-top: 8px;&#34;&gt;&#xA;  &#xA;&lt;/a&gt;&#xA;&#xA;&#xA;&lt;div style=&#34;display: flex; align-items: center; gap: 15px; padding: 14px; &#xA;            background-color: #493365;&#xA;            border-radius: 6px;&#xA;            margin: 20px 40px 20px 40px;&#34;&gt;&#xA;  &#xA;  &lt;div style=&#34;flex-shrink: 0;&#34;&gt;&#xA;    &lt;i class=&#34;fas fa-triangle-exclamation&#34; style=&#34;font-size: 130%; margin-left: 2px; opacity: 1; color: #EAD2FA;&#34;&gt;&lt;/i&gt;&#xA;  &lt;/div&gt;&#xA;  &#xA;  &lt;aside style = &#34;font-size: 90%; color: #EAD2FA;&#34;&gt;&#xA;    Muchas gracias a todas las personas que participaron 🤍 Fue un placer poder enseñarles lo básico de estas herramientas a un curso mayoritariamente conformado por mujeres y personas LBGTIQ. Las &#xA;&lt;a href=&#34;#grabaciones&#34;&gt;grabaciones&lt;/a&gt; y las &#xA;&lt;a href=&#34;#diapositivas&#34;&gt;diapositivas&lt;/a&gt; están disponibles en este post!&#xA;  &lt;/aside&gt;&#xA;  &#xA;&lt;/div&gt;&#xA;&#xA;&#xA;&#xA;&#xA;&lt;h3 id=&#34;quieres-entrar-al-mundo-de-los-datos-pero-no-sabes-cómo&#34;&gt;¿Quieres entrar al mundo de los datos, pero no sabes cómo?&#xA;  &lt;a href=&#34;#quieres-entrar-al-mundo-de-los-datos-pero-no-sabes-c%c3%b3mo&#34;&gt;&lt;svg class=&#34;anchor-symbol&#34; aria-hidden=&#34;true&#34; height=&#34;26&#34; width=&#34;26&#34; viewBox=&#34;0 0 22 22&#34; xmlns=&#34;http://www.w3.org/2000/svg&#34;&gt;&#xA;      &lt;path d=&#34;M0 0h24v24H0z&#34; fill=&#34;currentColor&#34;&gt;&lt;/path&gt;&#xA;      &lt;path d=&#34;M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76.0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71.0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71.0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76.0 5-2.24 5-5s-2.24-5-5-5z&#34;&gt;&lt;/path&gt;&#xA;    &lt;/svg&gt;&lt;/a&gt;&#xA;&lt;/h3&gt;&#xA;&lt;p&gt;Existen muchas herramientas para analizar datos, pero hay algo que casi todas tienen en común: la programación. Pero no es tan difícil como suena!&lt;/p&gt;</description>
    </item>
    <item>
      <title>Gráficos ternarios o triangulares de tres variables en `{ggplot2}`</title>
      <link>https://bastianolea.rbind.io/blog/ggplot_ternario/</link>
      <pubDate>Wed, 28 Jan 2026 00:00:00 +0000</pubDate>
      <guid>https://bastianolea.rbind.io/blog/ggplot_ternario/</guid>
      <description>&lt;p&gt;Un &lt;strong&gt;gráfico ternario&lt;/strong&gt; es una visualización de datos que representa tres variables numéricas dentro de un triángulo. En este post usaremos el paquete &lt;code&gt;{ggtern}&lt;/code&gt; para crearlos con R y &lt;code&gt;{ggplot2}&lt;/code&gt;.&lt;/p&gt;&#xA;&#xA;&#xA;&lt;div style=&#34;display: flex; align-items: center; gap: 15px; padding: 14px; &#xA;            background-color: #493365;&#xA;            border-radius: 6px;&#xA;            margin: 20px 40px 20px 40px;&#34;&gt;&#xA;  &#xA;  &lt;div style=&#34;flex-shrink: 0;&#34;&gt;&#xA;    &lt;i class=&#34;fas fa-triangle-exclamation&#34; style=&#34;font-size: 130%; margin-left: 2px; opacity: 1; color: #EAD2FA;&#34;&gt;&lt;/i&gt;&#xA;  &lt;/div&gt;&#xA;  &#xA;  &lt;aside style = &#34;font-size: 90%; color: #EAD2FA;&#34;&gt;&#xA;    &lt;strong&gt;Post en construcción!&lt;/strong&gt; A medida que voy aprendiendo iré complementando.&#xA;  &lt;/aside&gt;&#xA;  &#xA;&lt;/div&gt;&#xA;&lt;p&gt;Primero instalamos el paquete:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Por qué siempre visualizar los datos: el cuarteto de Anscombe</title>
      <link>https://bastianolea.rbind.io/blog/2026-01-27/</link>
      <pubDate>Tue, 27 Jan 2026 00:00:00 +0000</pubDate>
      <guid>https://bastianolea.rbind.io/blog/2026-01-27/</guid>
      <description>&lt;p&gt;Uno de los primeros pasos al trabajar con datos es explorarlos, y si bien existen &#xA;&lt;a href=&#34;../../../blog/estadisticos_descriptivos/&#34;&gt;herramientas estadísticas para resumir datos y obtener medidas que los describan&lt;/a&gt;, debemos recordar que &lt;strong&gt;visualizar los datos es igual de importante que obtener sus estadísticas descriptivas&lt;/strong&gt; 🤯&lt;/p&gt;&#xA;&lt;p&gt;Veamos un ejemplo clásico de ésto: el &#xA;&lt;a href=&#34;https://es.wikipedia.org/wiki/Cuarteto_de_Anscombe&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;cuarteto de Anscombe&lt;/a&gt;. Este conjunto de datos, creado por Francis John Anscombe en 1973, está compuesto por cuatro grupos distintos, con &lt;strong&gt;las mismas estadísticas descriptivas&lt;/strong&gt; (media, varianza, correlación y regresión lineal), pero que &lt;strong&gt;al visualizarlos revelan distribuciones muy diferentes&lt;/strong&gt;!&lt;/p&gt;</description>
    </item>
    <item>
      <title>Testeo automatizado de aplicaciones Shiny con `{shinytest2}`</title>
      <link>https://bastianolea.rbind.io/blog/shiny_validacion/</link>
      <pubDate>Fri, 23 Jan 2026 00:00:00 +0000</pubDate>
      <guid>https://bastianolea.rbind.io/blog/shiny_validacion/</guid>
      <description>&lt;div style=&#34;margin:auto; max-width:70%;&#34;&gt;&#xA;  &#xA;  &lt;video src=&#34;apps.mov&#34; style=&#34;border-radius:7px; max-width: 100%; display: block; margin: auto;&#34; autoplay loop&gt;&#xA;  &lt;/video&gt;&#xA;&lt;/div&gt;&#xA;&#xA;&lt;div style = &#34;margin-left: -16px;&#34;&gt;&#xA;  &#xA;  &lt;details closed id=&#34;PageTableOfContents&#34;&gt;&#xA;    &lt;summary&gt;&#xA;      &lt;h2 class=&#34;mv0 f5 fw7 ttu tracked dib&#34; style = &#34;margin-left: 6px; font-size: 120%;&#34;&gt;Índice&lt;/h2&gt;&#xA;      &lt;/summary&gt;&#xA;    &lt;div class=&#34;pl2 pr0 mh0&#34; style = &#34;font-size: 90%; margin-top: -8px; margin-left: 16px; margin-bottom: 32px;&#34;&gt;&#xA;    &lt;nav id=&#34;TableOfContents&#34;&gt;&#xA;  &lt;ul&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;#empezar-a-usar-shinytest2&#34;&gt;Empezar a usar &lt;code&gt;{shinytest2}&lt;/code&gt;&lt;/a&gt;&#xA;      &lt;ul&gt;&#xA;        &lt;li&gt;&lt;a href=&#34;#grabar-el-primer-test&#34;&gt;Grabar el primer test&lt;/a&gt;&lt;/li&gt;&#xA;      &lt;/ul&gt;&#xA;    &lt;/li&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;#estructura-de-carpetas-de-tests&#34;&gt;Estructura de carpetas de tests&lt;/a&gt;&#xA;      &lt;ul&gt;&#xA;        &lt;li&gt;&lt;/li&gt;&#xA;      &lt;/ul&gt;&#xA;    &lt;/li&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;#creando-una-prueba&#34;&gt;Creando una prueba&lt;/a&gt;&lt;/li&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;#ejecutar-un-test&#34;&gt;Ejecutar un test&lt;/a&gt;&#xA;      &lt;ul&gt;&#xA;        &lt;li&gt;&lt;a href=&#34;#expectativas-del-test&#34;&gt;Expectativas del test&lt;/a&gt;&lt;/li&gt;&#xA;        &lt;li&gt;&lt;a href=&#34;#debugging&#34;&gt;Debugging&lt;/a&gt;&lt;/li&gt;&#xA;        &lt;li&gt;&lt;a href=&#34;#resultados&#34;&gt;Resultados&lt;/a&gt;&lt;/li&gt;&#xA;      &lt;/ul&gt;&#xA;    &lt;/li&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;#automatizar-tests-repetitivos&#34;&gt;Automatizar tests repetitivos&lt;/a&gt;&#xA;      &lt;ul&gt;&#xA;        &lt;li&gt;&lt;a href=&#34;#ejemplo-de-test-automatizado&#34;&gt;Ejemplo de test automatizado&lt;/a&gt;&lt;/li&gt;&#xA;      &lt;/ul&gt;&#xA;    &lt;/li&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;#conclusión&#34;&gt;Conclusión&lt;/a&gt;&lt;/li&gt;&#xA;  &lt;/ul&gt;&#xA;&lt;/nav&gt;&#xA;    &lt;/div&gt;&#xA;  &lt;/details&gt;&#xA;  &#xA;&lt;/div&gt;&#xA;&lt;p&gt;Al igual que la &#xA;&lt;a href=&#34;https://bastianolea.rbind.io/blog/validacion_avanzada/&#34;&gt;validación de datos&lt;/a&gt;, validar &#xA;&lt;a href=&#34;https://bastianolea.rbind.io/tags/shiny/&#34;&gt;aplicaciones Shiny&lt;/a&gt; te permite crear un conjunto de pruebas para &lt;strong&gt;confirmar que tus aplicaciones funcionan bien sin tener que probarlas manualmente&lt;/strong&gt;. En la práctica, significa programar un &lt;em&gt;bot&lt;/em&gt; que apriete todos los botones de tu aplicación y obtenga capturas de pantalla que te confirmen que todo se ve bien, o realizar otros tipos de pruebas más complejas.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Temas de colores personalizados para tus gráficos {ggplot2}</title>
      <link>https://bastianolea.rbind.io/blog/ggplot_temas/</link>
      <pubDate>Thu, 22 Jan 2026 00:00:00 +0000</pubDate>
      <guid>https://bastianolea.rbind.io/blog/ggplot_temas/</guid>
      <description>&lt;p&gt;Darle un toque de color a tus gráficos produce visualizaciones con &lt;strong&gt;más personalidad&lt;/strong&gt; y &lt;strong&gt;mayor impacto&lt;/strong&gt;. Pero cambiar el color de cada elemento puede parecer engorroso 😣&lt;/p&gt;&#xA;&lt;p&gt;¡Pero es fácil! Veamos cómo se puede hacer &#xA;&lt;a href=&#34;https://tidyverse.org/blog/2025/09/ggplot2-4-0-0/#theme-improvements&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;con las nuevas funcionalidades de &lt;code&gt;{ggplot2}&lt;/code&gt; versión 4.0.&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;Primero generemos datos al azar para crear una visualización de demostración:&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-r&#34; data-lang=&#34;r&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nf&#34;&gt;library&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;dplyr&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# crear datos al azar&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;datos&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;&amp;lt;-&lt;/span&gt; &lt;span class=&#34;nf&#34;&gt;tibble&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;a&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;m&#34;&gt;1&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;m&#34;&gt;10&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;                &lt;span class=&#34;n&#34;&gt;b&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;nf&#34;&gt;rnorm&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;m&#34;&gt;10&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;mean&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;m&#34;&gt;7&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;sd&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;m&#34;&gt;2&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;                &lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Ahora creemos un gráfico básico:&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-r&#34; data-lang=&#34;r&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nf&#34;&gt;library&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;ggplot2&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;grafico&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;&amp;lt;-&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;datos&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;|&amp;gt;&lt;/span&gt; &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;nf&#34;&gt;ggplot&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;()&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;+&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;nf&#34;&gt;aes&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;x&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;nf&#34;&gt;as.factor&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;a&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;),&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;y&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;b&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;+&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;c1&#34;&gt;# capa de columnas&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;nf&#34;&gt;geom_col&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;width&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;m&#34;&gt;0.5&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;+&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;c1&#34;&gt;# capa de texto&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;nf&#34;&gt;geom_text&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nf&#34;&gt;aes&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;label&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;nf&#34;&gt;round&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;b&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;m&#34;&gt;0&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;),&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;y&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;b&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;+&lt;/span&gt; &lt;span class=&#34;m&#34;&gt;0.6&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;),&lt;/span&gt; &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;            &lt;span class=&#34;n&#34;&gt;size&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;m&#34;&gt;3&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;fontface&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s&#34;&gt;&amp;#34;bold&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;grafico&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;img src=&#34;ggplot_temas.markdown_strict_files/figure-markdown_strict/unnamed-chunk-2-1.png&#34; width=&#34;768&#34; /&gt;&#xA;&lt;p&gt;Agreguemos algunas capas extra para mejorar la apariencia de nuestro gráfico:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Crea tablas con píldoras de colores usando `{gt}` en R</title>
      <link>https://bastianolea.rbind.io/blog/gt_pildoras/</link>
      <pubDate>Tue, 20 Jan 2026 00:00:00 +0000</pubDate>
      <guid>https://bastianolea.rbind.io/blog/gt_pildoras/</guid>
      <description>&lt;p&gt;En este tutorial veremos cómo convertir celdas de tus tablas a compactas &lt;em&gt;píldoras&lt;/em&gt; usando &#xA;&lt;a href=&#34;../../../blog/tablas_gt/&#34;&gt;&lt;code&gt;{gt}&lt;/code&gt;, una excelente librería de R para crear tablas personalizables.&lt;/a&gt; El objetivo es presentar la información de forma más &lt;strong&gt;atractiva&lt;/strong&gt;, permitiendo darle un &lt;strong&gt;color personalizado&lt;/strong&gt; según el dato que se muestre, o bien, &lt;strong&gt;destacar&lt;/strong&gt; determinados datos.&lt;/p&gt;&#xA;&lt;a href=&#34;gt_pills_featured.png&#34; target=&#34;_blank&#34;&gt;&#xA;&#xA;  &lt;img src=&#34;gt_pills_featured.png&#34; style=&#39;border-radius: 5px; width: 300px; display: block; margin: auto; margin-bottom: 8px; margin-top: 8px;&#39;&gt;&#xA;  &#xA;&lt;/a&gt;&#xA;&lt;p&gt;Si bien existen otras formas de hacer esto, aprender este método te entrega mucha más flexibilidad para trabajar tablas directamente con HTML en el paquete &lt;code&gt;{gt}&lt;/code&gt;, desbloqueando su potencial! 🔥&lt;/p&gt;</description>
    </item>
    <item>
      <title>Desplegar aplicaciones Shiny a producción en contenedores Docker</title>
      <link>https://bastianolea.rbind.io/blog/shiny_docker/</link>
      <pubDate>Tue, 20 Jan 2026 00:00:00 +0000</pubDate>
      <guid>https://bastianolea.rbind.io/blog/shiny_docker/</guid>
      <description>&lt;p&gt;Docker es una plataforma que permite empaquetar aplicaciones y sus dependencias en &lt;strong&gt;contenedores&lt;/strong&gt;, lo que simplifica el proceso de despliegue (&lt;em&gt;deployment&lt;/em&gt;) y gestión de aplicaciones.&lt;/p&gt;&#xA;&#xA;&#xA;&lt;div style=&#34;display: flex; align-items: center; gap: 15px; padding: 14px; &#xA;            background-color: #493365;&#xA;            border-radius: 6px;&#xA;            margin: 20px 40px 20px 40px;&#34;&gt;&#xA;  &#xA;  &lt;div style=&#34;flex-shrink: 0;&#34;&gt;&#xA;    &lt;i class=&#34;fas fa-triangle-exclamation&#34; style=&#34;font-size: 130%; margin-left: 2px; opacity: 1; color: #EAD2FA;&#34;&gt;&lt;/i&gt;&#xA;  &lt;/div&gt;&#xA;  &#xA;  &lt;aside style = &#34;font-size: 90%; color: #EAD2FA;&#34;&gt;&#xA;    Post en construcción! A medida que voy aprendiendo iré complementando la publicación.&#xA;  &lt;/aside&gt;&#xA;  &#xA;&lt;/div&gt;&#xA;&lt;div style=&#34;display: flex; align-items: center; gap: 15px; padding: 14px; &#xA;            /*background-color: #A985C650;*/&#xA;            background-color: #DEC4F2;&#xA;            border-radius: 6px;&#xA;            margin: 20px 40px 20px 40px;&#34;&gt;&#xA;  &#xA;  &lt;div style=&#34;flex-shrink: 0;&#34;&gt;&#xA;    &lt;i class=&#34;fas fa-info-circle&#34; style=&#34;font-size: 130%; margin-left: 2px; opacity: 1; color: #9069C0;&#34;&gt;&lt;/i&gt;&#xA;  &lt;/div&gt;&#xA;  &#xA;  &lt;aside style = &#34;font-size: 90%;&#34;&gt;&#xA;    Este es un post para usuarios avanzados de Shiny que necesiten desplegar sus apps contextos de empresas o producción. Si eres un usuario casual de Shiny, probablemente sea mejor usar &#xA;&lt;a href=&#34;https://connect.posit.cloud&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Posit Connect Cloud&lt;/a&gt; para publicar tus apps.&#xA;  &lt;/aside&gt;&#xA;  &#xA;&lt;/div&gt;&#xA;&lt;div style=&#34;margin: 28px 0;&#34;&gt;&#xA;    &lt;p class=&#34;titulo-panel&#34;&gt;&#xA;      Publicaciones relacionadas&#xA;    &lt;/p&gt;</description>
    </item>
    <item>
      <title>Selección de cupos para curso gratuito de introducción a R</title>
      <link>https://bastianolea.rbind.io/blog/2026-01-19/</link>
      <pubDate>Mon, 19 Jan 2026 00:00:00 +0000</pubDate>
      <guid>https://bastianolea.rbind.io/blog/2026-01-19/</guid>
      <description>&lt;div style=&#34;display: flex; align-items: center; gap: 15px; padding: 14px; &#xA;            background-color: #493365;&#xA;            border-radius: 6px;&#xA;            margin: 20px 40px 20px 40px;&#34;&gt;&#xA;  &#xA;  &lt;div style=&#34;flex-shrink: 0;&#34;&gt;&#xA;    &lt;i class=&#34;fas fa-triangle-exclamation&#34; style=&#34;font-size: 130%; margin-left: 2px; opacity: 1; color: #EAD2FA;&#34;&gt;&lt;/i&gt;&#xA;  &lt;/div&gt;&#xA;  &#xA;  &lt;aside style = &#34;font-size: 90%; color: #EAD2FA;&#34;&gt;&#xA;    Ya se enviaron los correos a las 60 personas que obtuvieron un cupo en el curso! Revisa tu correo y tu carpeta de spam!&#xA;  &lt;/aside&gt;&#xA;  &#xA;&lt;/div&gt;&#xA;&lt;p&gt;La &#xA;&lt;a href=&#34;../../../blog/curso_gratis_r_intro_1/&#34;&gt;convocatoria al curso gratuito de introducción a R&lt;/a&gt; fue un éxito! &lt;strong&gt;Más de 500 personas&lt;/strong&gt; postularon para poder aprender.&lt;/p&gt;</description>
    </item>
    <item>
      <title>App: visualizador de mapas comunales del Censo 2024 por manzanas</title>
      <link>https://bastianolea.rbind.io/blog/app_censo_mapas/</link>
      <pubDate>Fri, 19 Dec 2025 00:00:00 +0000</pubDate>
      <guid>https://bastianolea.rbind.io/blog/app_censo_mapas/</guid>
      <description>&lt;p&gt;Continuando con la exploración de los datos georeferenciados del Censo 2024 por manzanas, en vez de ponerme a hacer mapas interesantes, hice una &lt;strong&gt;&#xA;&lt;a href=&#34;https://bastianoleah.shinyapps.io/censo_2024_mapas/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;aplicación&lt;/a&gt; para visualizar mapas&lt;/strong&gt; de cualquier variable del Censo en cualquier comuna del país, a nivel de manzana.&lt;/p&gt;&#xA;&lt;a href=&#34;app_censo_mapas.jpg&#34; target=&#34;_blank&#34;&gt;&#xA;&#xA;  &lt;img src=&#34;app_censo_mapas.jpg&#34; style=&#39;border-radius: 5px; width: 400px; display: block; margin: auto; margin-bottom: 8px; margin-top: 8px;&#39;&gt;&#xA;  &#xA;&lt;/a&gt;&#xA;&lt;div style=&#34;margin: 28px 0;&#34;&gt;&#xA;    &lt;p class=&#34;titulo-panel&#34;&gt;&#xA;      Publicaciones relacionadas&#xA;    &lt;/p&gt;&#xA;&#xA;  &lt;a href=&#34;https://bastianolea.rbind.io/blog/censo_2024/&#34;&#xA;     style=&#34;display: flex;&#xA;            flex-direction: row;&#xA;            align-items: stretch;&#xA;            text-decoration: none;&#xA;            color: inherit;&#xA;            /*border: 1px solid #9069C035;*/&#xA;            border: solid 2px #A885C6AA;&#xA;            border-radius: 8px;&#xA;            overflow: hidden;&#xA;            /*background-color: #9069C00d;*/&#xA;            background-color: #9069C020;&#xA;            &#34;&gt;&#xA;&#xA;    &#xA;    &lt;figure style=&#34;flex-shrink: 0;&#xA;                   position: relative;&#xA;                   width: 140px;&#xA;                   min-height: 80px;&#xA;                   margin: 10px 0 10px 10px;&#xA;                   overflow: hidden;&#xA;                   border-radius: 5px;&#34;&gt;&#xA;      &lt;img src=&#34;https://bastianolea.rbind.io/blog/censo_2024/censo-featured.jpg&#34;&#xA;           alt=&#34;Explorar datos del Censo de Población y Vivienda 2024 con R&#34;&#xA;           style=&#34;position: absolute;&#xA;                  inset: 0;&#xA;                  width: 100%;&#xA;                  height: 100%;&#xA;                  object-fit: cover;&#xA;                  object-position: center top;&#xA;                  margin: 0;&#34;&gt;&#xA;    &lt;/figure&gt;&#xA;    &#xA;&#xA;    &lt;div style=&#34;padding: 15px 20px;&#xA;                flex: 1;&#xA;                display: flex;&#xA;                flex-direction: column;&#xA;                justify-content: center;&#xA;                gap: 6px;&#34;&gt;&#xA;&#xA;      &lt;p style=&#34;margin: 0;&#xA;                font-size: 95%;&#xA;                color: #9069C0;&#xA;                font-weight: bold;&#xA;                line-height: 1.35;&#34;&gt;&#xA;        Explorar datos del Censo de Población y Vivienda 2024 con R&#xA;      &lt;/p&gt;</description>
    </item>
    <item>
      <title>Visualiza datos del Censo 2024 en mapas a nivel de manzana con R</title>
      <link>https://bastianolea.rbind.io/blog/mapas_censo_2024/</link>
      <pubDate>Wed, 17 Dec 2025 00:00:00 +0000</pubDate>
      <guid>https://bastianolea.rbind.io/blog/mapas_censo_2024/</guid>
      <description>&lt;script src=&#34;index_files/libs/htmlwidgets-1.6.4/htmlwidgets.js&#34;&gt;&lt;/script&gt;&#xA;&lt;link href=&#34;index_files/libs/maplibre-gl-5.22.0/maplibre-gl.css&#34; rel=&#34;stylesheet&#34; /&gt;&#xA;&lt;script src=&#34;index_files/libs/maplibre-gl-5.22.0/maplibre-gl.js&#34;&gt;&lt;/script&gt;&#xA;&lt;link href=&#34;index_files/libs/mapbox-gl-draw-1.5.1/mapbox-gl-draw.css&#34; rel=&#34;stylesheet&#34; /&gt;&#xA;&lt;script src=&#34;index_files/libs/mapbox-gl-draw-1.5.1/mapbox-gl-draw.js&#34;&gt;&lt;/script&gt;&#xA;&lt;script src=&#34;index_files/libs/freehand-mode-1.0.0/freehand-mode.js&#34;&gt;&lt;/script&gt;&#xA;&lt;script src=&#34;index_files/libs/rectangle-mode-1.0.0/rectangle-mode.js&#34;&gt;&lt;/script&gt;&#xA;&lt;script src=&#34;index_files/libs/radius-mode-1.0.0/radius-mode.js&#34;&gt;&lt;/script&gt;&#xA;&lt;link href=&#34;index_files/libs/maplibre-gl-geocoder-1.5.0/maplibre-gl-geocoder.css&#34; rel=&#34;stylesheet&#34; /&gt;&#xA;&lt;script src=&#34;index_files/libs/maplibre-gl-geocoder-1.5.0/maplibre-gl-geocoder.min.js&#34;&gt;&lt;/script&gt;&#xA;&lt;script src=&#34;index_files/libs/mapbox-gl-globe-minimap-1.2.1/bundle.js&#34;&gt;&lt;/script&gt;&#xA;&lt;script src=&#34;index_files/libs/pmtiles-4.4.0/pmtiles.js&#34;&gt;&lt;/script&gt;&#xA;&lt;script src=&#34;index_files/libs/h3j-h3t-0.9.2/h3j_h3t.js&#34;&gt;&lt;/script&gt;&#xA;&lt;link href=&#34;index_files/libs/maptiler-geocoding-control-2.1.7/style.css&#34; rel=&#34;stylesheet&#34; /&gt;&#xA;&lt;script src=&#34;index_files/libs/maptiler-geocoding-control-2.1.7/maplibregl.umd.js&#34;&gt;&lt;/script&gt;&#xA;&lt;script src=&#34;index_files/libs/turf-7.3.0/turf.min.js&#34;&gt;&lt;/script&gt;&#xA;&lt;script src=&#34;index_files/libs/turf-operations-1.0.0/turf-operations.js&#34;&gt;&lt;/script&gt;&#xA;&lt;script src=&#34;index_files/libs/html2canvas-1.4.1/html2canvas.min.js&#34;&gt;&lt;/script&gt;&#xA;&lt;script src=&#34;index_files/libs/screenshot-1.0.0/screenshot.js&#34;&gt;&lt;/script&gt;&#xA;&lt;link href=&#34;index_files/libs/legend-interactivity-1.0.0/legend-interactivity.css&#34; rel=&#34;stylesheet&#34; /&gt;&#xA;&lt;script src=&#34;index_files/libs/legend-interactivity-1.0.0/legend-interactivity.js&#34;&gt;&lt;/script&gt;&#xA;&lt;script src=&#34;index_files/libs/maplibregl-binding-0.4.6/maplibregl.js&#34;&gt;&lt;/script&gt;&#xA;&lt;link href=&#34;index_files/libs/layers-control-1.0.0/layers-control.css&#34; rel=&#34;stylesheet&#34; /&gt;&#xA;&lt;p&gt;Ahora que recientemente lanzaron los datos 2024 del Censo de Población y Vivienda de Chile, me di unos minutos para visualizarlos. En este tutorial veremos dos formas de visualizar datos censales &lt;strong&gt;a nivel de manzana&lt;/strong&gt;: con mapas estáticos en &lt;code&gt;{ggplot2}&lt;/code&gt;, y con mapas interactivos en &lt;code&gt;{mapgl}&lt;/code&gt;.&lt;/p&gt;&#xA;&#xA;&#xA;&#xA;&#xA;&lt;h2 id=&#34;datos-censales&#34;&gt;Datos censales&#xA;  &lt;a href=&#34;#datos-censales&#34;&gt;&lt;svg class=&#34;anchor-symbol&#34; aria-hidden=&#34;true&#34; height=&#34;26&#34; width=&#34;26&#34; viewBox=&#34;0 0 22 22&#34; xmlns=&#34;http://www.w3.org/2000/svg&#34;&gt;&#xA;      &lt;path d=&#34;M0 0h24v24H0z&#34; fill=&#34;currentColor&#34;&gt;&lt;/path&gt;&#xA;      &lt;path d=&#34;M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76.0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71.0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71.0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76.0 5-2.24 5-5s-2.24-5-5-5z&#34;&gt;&lt;/path&gt;&#xA;    &lt;/svg&gt;&lt;/a&gt;&#xA;&lt;/h2&gt;&#xA;&lt;p&gt;&#xA;&lt;a href=&#34;https://censo2024.ine.gob.cl/resultados/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Descarga los datos cartográficos del Censo 2024 desde la página del INE&lt;/a&gt;, entrando a &lt;em&gt;Cartografía Censal&lt;/em&gt; y luego descargando el archivo &lt;strong&gt;Cartografía País Censo 2024 (geoparquet)&lt;/strong&gt;.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Automatizar el scroll de una página web desde R con `{RSelenium}`</title>
      <link>https://bastianolea.rbind.io/blog/2025-12-16/</link>
      <pubDate>Tue, 16 Dec 2025 00:00:00 +0000</pubDate>
      <guid>https://bastianolea.rbind.io/blog/2025-12-16/</guid>
      <description>&lt;p&gt;Para publicitar &#xA;&lt;a href=&#34;https://bastianolea.github.io/aprende_r/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;mi nueva página para &lt;strong&gt;aprender R&lt;/strong&gt; gratis y de manera autodidacta&lt;/a&gt;, quise grabar un video mostrando los contenidos.&lt;/p&gt;&#xA;&lt;div style=&#34;width: 100%; text-align: center;&#34;&gt;&#xA;&lt;iframe src=&#34;https://www.linkedin.com/embed/feed/update/urn:li:ugcPost:7406413050523840512?compact=1&#34; height=&#34;399&#34; width=&#34;504&#34; frameborder=&#34;0&#34; allowfullscreen=&#34;&#34; title=&#34;Publicación integrada&#34;&gt;&lt;/iframe&gt;&#xA;&lt;/div&gt;&#xA;&lt;p&gt;Pero al grabar el video, no me gustaba cómo quedaba cuando yo iba haciendo &lt;em&gt;scroll&lt;/em&gt; manualmente, porque a veces me quedaban cortados los contenidos o se veía muy errático.&lt;/p&gt;&#xA;&lt;p&gt;Así que hice lo que cualquier persona racional y ocupada haría, y automatizé el &lt;em&gt;scroll&lt;/em&gt; con R, para que &lt;strong&gt;la página se moviera solita&lt;/strong&gt; sin que yo intervenga. Así la grabación sale perfecta 💖&lt;/p&gt;</description>
    </item>
    <item>
      <title>Interactúa desde R con una IA que conoce tus datos, archivos y paquetes</title>
      <link>https://bastianolea.rbind.io/blog/btw/</link>
      <pubDate>Wed, 10 Dec 2025 00:00:00 +0000</pubDate>
      <guid>https://bastianolea.rbind.io/blog/btw/</guid>
      <description>&lt;a href=&#34;btw_featured.png&#34; target=&#34;_blank&#34;&gt;&#xA;&#xA;  &lt;img src=&#34;btw_featured.png&#34; style=&#34;border-radius: 5px; width: 80%; max-width: 700px; display: block; margin: auto; margin-bottom: 8px; margin-top: 8px;&#34;&gt;&#xA;  &#xA;&lt;/a&gt;&#xA;&lt;p&gt;En este blog ya hemos visto varias &#xA;&lt;a href=&#34;https://bastianolea.rbind.io/tags/inteligencia-artificial&#34;&gt;herramientas de IA&lt;/a&gt; que te pueden ayudar a usar R, por ejemplo &#xA;&lt;a href=&#34;https://bastianolea.rbind.io/blog/gander/&#34;&gt;el paquete &lt;code&gt;{gander}&lt;/code&gt;&lt;/a&gt;, que al presionar una combinación de teclas cuando tienes código seleccionado invoca una ventana donde puedes pedir a una IA que haga cosas con ese código y/o datos, gracias a un &lt;strong&gt;conocimiento contextual de tu entorno de R&lt;/strong&gt;.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Cargar y unir datos de múltiples hojas de Excel con R</title>
      <link>https://bastianolea.rbind.io/blog/excel_unir_hojas/</link>
      <pubDate>Tue, 09 Dec 2025 00:00:00 +0000</pubDate>
      <guid>https://bastianolea.rbind.io/blog/excel_unir_hojas/</guid>
      <description>&lt;p&gt;Las hojas de Excel pueden ser cómodas para organizar información, pero no mucho para procesarla o analizarla. Por lo mismo, una de las operaciones iniciales de limpieza de datos suele ser &lt;strong&gt;unir datos que vienen repartidos en varias hojas de Excel&lt;/strong&gt;.&lt;/p&gt;&#xA;&lt;p&gt;En este tutorial vamos a ver cómo se hace paso a paso. Usaremos el paquete &lt;code&gt;{readxl}&lt;/code&gt; para leer los datos, &lt;code&gt;{dplyr}&lt;/code&gt; para manipular y combinar las hojas, y &lt;code&gt;{purrr}&lt;/code&gt; para realizar operaciones sobre todas las hojas de forma automática.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Procesa datos con R sin programar y de forma interactiva con `{blockr}`</title>
      <link>https://bastianolea.rbind.io/blog/blockr/</link>
      <pubDate>Fri, 05 Dec 2025 00:00:00 +0000</pubDate>
      <guid>https://bastianolea.rbind.io/blog/blockr/</guid>
      <description>&lt;p&gt;Viendo el streaming de la &#xA;&lt;a href=&#34;https://www.youtube.com/watch?v=H4eheaXZKzs&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;conferencia LatinR 2025&lt;/a&gt; conocí el &#xA;&lt;a href=&#34;https://blockr.site&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;paquete de R &lt;code&gt;{blockr}&lt;/code&gt;&lt;/a&gt;, que nos ofrece una interfaz gráfica interactiva para usar R &lt;strong&gt;sin escribir código&lt;/strong&gt;.&lt;/p&gt;&#xA;&lt;a href=&#34;blockr_12.jpg&#34; target=&#34;_blank&#34;&gt;&#xA;&#xA;  &lt;img src=&#34;blockr_12.jpg&#34; style=&#34;border-radius: 5px; width: 80%; max-width: 700px; display: block; margin: auto; margin-bottom: 8px; margin-top: 8px;&#34;&gt;&#xA;  &#xA;&lt;/a&gt;&#xA;&lt;p&gt;Como su nombre lo indica, funciona por medio de &lt;strong&gt;bloques&lt;/strong&gt; que se conectan entre sí, representando de forma visual el flujo de procesamiento de datos.&lt;/p&gt;&#xA;&lt;p&gt;Esta herramienta &lt;em&gt;no code&lt;/em&gt; puede servirle a gente que esté aprendiendo R y quizás les sirva empezar por lo práctico antes de entrar al código. También puede ser útil para personas que les cueste programar en R, o que tengan alguna dificultad para escribir código, o bien, para quienes quieran esbozar un proceso antes de escribirlo.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Gráfico exploratorio para el Sistema de Indicadores y Estándares Territoriales</title>
      <link>https://bastianolea.rbind.io/blog/2025-12-04/</link>
      <pubDate>Thu, 04 Dec 2025 00:00:00 +0000</pubDate>
      <guid>https://bastianolea.rbind.io/blog/2025-12-04/</guid>
      <description>&lt;p&gt;Hoy fue el lanzamiento del &#xA;&lt;a href=&#34;https://www.siet-chile.cl&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Sistema de Indicadores y Estándares Territoriales&lt;/a&gt; (SIET), y durante su exposición, &#xA;&lt;a href=&#34;https://www.linkedin.com/in/rarriagadac/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Rodolfo Arriagada&lt;/a&gt; presentó este gráfico exploratorio que hicimos en conjunto.&lt;/p&gt;&#xA;&lt;a href=&#34;grafico_siet_triple.png&#34; target=&#34;_blank&#34;&gt;&#xA;&#xA;  &lt;img src=&#34;grafico_siet_triple.png&#34; style=&#34;border-radius: 5px; width: 80%; max-width: 700px; display: block; margin: auto; margin-bottom: 8px; margin-top: 8px;&#34;&gt;&#xA;  &#xA;&lt;/a&gt;&#xA;&lt;p&gt;El gráfico ubica las 346 comunas del país en un plano según su porcentaje de &lt;strong&gt;acceso al agua potable&lt;/strong&gt; y el porcentaje de &lt;strong&gt;red vial pavimentada&lt;/strong&gt;. Los colores y los cuadrantes destacan el comportamiento de las comunas según su clasificación: urbana, mixta o rural.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Actualización del blog: menús, mejoras, y más morado</title>
      <link>https://bastianolea.rbind.io/blog/2025-12-02/</link>
      <pubDate>Wed, 03 Dec 2025 00:00:00 +0000</pubDate>
      <guid>https://bastianolea.rbind.io/blog/2025-12-02/</guid>
      <description>&lt;p&gt;Recientemente he estado retocando algunos aspectos de este blog. Quería contarles los principales cambios: &lt;strong&gt;tablas de contenido&lt;/strong&gt; en todas las publicaciones, nuevo &lt;strong&gt;tema de colores para bloques de código&lt;/strong&gt;, y &lt;strong&gt;resultados de búsqueda con resúmenes de posts&lt;/strong&gt;, y más.&lt;/p&gt;&#xA;&lt;hr&gt;&#xA;&#xA;&#xA;&#xA;&#xA;&lt;h3 id=&#34;tablas-de-contenido-en-posts&#34;&gt;Tablas de contenido en posts&#xA;  &lt;a href=&#34;#tablas-de-contenido-en-posts&#34;&gt;&lt;svg class=&#34;anchor-symbol&#34; aria-hidden=&#34;true&#34; height=&#34;26&#34; width=&#34;26&#34; viewBox=&#34;0 0 22 22&#34; xmlns=&#34;http://www.w3.org/2000/svg&#34;&gt;&#xA;      &lt;path d=&#34;M0 0h24v24H0z&#34; fill=&#34;currentColor&#34;&gt;&lt;/path&gt;&#xA;      &lt;path d=&#34;M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76.0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71.0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71.0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76.0 5-2.24 5-5s-2.24-5-5-5z&#34;&gt;&lt;/path&gt;&#xA;    &lt;/svg&gt;&lt;/a&gt;&#xA;&lt;/h3&gt;&#xA;&lt;a href=&#34;indice.png&#34; target=&#34;_blank&#34;&gt;&#xA;&#xA;  &lt;img src=&#34;indice.png&#34; style=&#39;float: right; border-radius: 5px; max-width: 40%; margin-left: 24px; margin-bottom: 24px;&#39;&gt;&#xA;  &#xA;&lt;/a&gt;&#xA;&lt;p&gt;Uno de los cambios principales, y que quería hacer hace mucho tiempo, es mostrar un menú con la tabla de contenidos de cada post (títulos y subtítulos) al lado del texto, para facilitar la navegación. Este tipo de menú aparecen por defecto en los documentos y blogs Quarto, pero no en los de Hugo. Así que tuve que hacer algunos ajustes en el tema que uso.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Calcula estadísticos descriptivos básicos en R</title>
      <link>https://bastianolea.rbind.io/blog/estadisticos_descriptivos/</link>
      <pubDate>Tue, 02 Dec 2025 00:00:00 +0000</pubDate>
      <guid>https://bastianolea.rbind.io/blog/estadisticos_descriptivos/</guid>
      <description>&lt;p&gt;Calcular estadísticos descriptivos en R es tan simple como usar la función &lt;code&gt;summary()&lt;/code&gt; sobre cualquier tabla de datos o &lt;em&gt;dataframe&lt;/em&gt;.&lt;/p&gt;&#xA;&lt;div style = &#34;margin-left: -16px;&#34;&gt;&#xA;  &#xA;  &lt;details closed id=&#34;PageTableOfContents&#34;&gt;&#xA;    &lt;summary&gt;&#xA;      &lt;h2 class=&#34;mv0 f5 fw7 ttu tracked dib&#34; style = &#34;margin-left: 6px; font-size: 120%;&#34;&gt;Índice&lt;/h2&gt;&#xA;      &lt;/summary&gt;&#xA;    &lt;div class=&#34;pl2 pr0 mh0&#34; style = &#34;font-size: 90%; margin-top: -8px; margin-left: 16px; margin-bottom: 32px;&#34;&gt;&#xA;    &lt;nav id=&#34;TableOfContents&#34;&gt;&#xA;  &lt;ul&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;#estadísticos-descriptivos-iniciales&#34;&gt;Estadísticos descriptivos iniciales&lt;/a&gt;&lt;/li&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;#estadísticos-descriptivos-con-dplyr&#34;&gt;Estadísticos descriptivos con &lt;code&gt;{dplyr}&lt;/code&gt;&lt;/a&gt;&#xA;      &lt;ul&gt;&#xA;        &lt;li&gt;&lt;a href=&#34;#calcular-promedio-con-summarize&#34;&gt;Calcular promedio con &lt;code&gt;summarize()&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#xA;        &lt;li&gt;&lt;a href=&#34;#calcular-promedio-de-varias-variables-con-summarizeacross&#34;&gt;Calcular promedio de varias variables con &lt;code&gt;summarize(across())&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#xA;        &lt;li&gt;&lt;a href=&#34;#estadísticos-descriptivos-con-summarize&#34;&gt;Estadísticos descriptivos con &lt;code&gt;summarize()&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#xA;        &lt;li&gt;&lt;a href=&#34;#estadísticos-descriptivos-por-grupo&#34;&gt;Estadísticos descriptivos por grupo&lt;/a&gt;&lt;/li&gt;&#xA;        &lt;li&gt;&lt;a href=&#34;#estadísticos-descriptivos-para-todas-las-variables&#34;&gt;Estadísticos descriptivos para todas las variables&lt;/a&gt;&lt;/li&gt;&#xA;        &lt;li&gt;&lt;a href=&#34;#estadísticos-descriptivos-para-todas-las-variables-por-grupos&#34;&gt;Estadísticos descriptivos para todas las variables, por grupos&lt;/a&gt;&lt;/li&gt;&#xA;      &lt;/ul&gt;&#xA;    &lt;/li&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;#estadísticos-descriptivos-con-skimr&#34;&gt;Estadísticos descriptivos con &lt;code&gt;{skimr}&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#xA;  &lt;/ul&gt;&#xA;&lt;/nav&gt;&#xA;    &lt;/div&gt;&#xA;  &lt;/details&gt;&#xA;  &#xA;&lt;/div&gt;&#xA;&#xA;&#xA;&#xA;&#xA;&lt;h2 id=&#34;estadísticos-descriptivos-iniciales&#34;&gt;Estadísticos descriptivos iniciales&#xA;  &lt;a href=&#34;#estad%c3%adsticos-descriptivos-iniciales&#34;&gt;&lt;svg class=&#34;anchor-symbol&#34; aria-hidden=&#34;true&#34; height=&#34;26&#34; width=&#34;26&#34; viewBox=&#34;0 0 22 22&#34; xmlns=&#34;http://www.w3.org/2000/svg&#34;&gt;&#xA;      &lt;path d=&#34;M0 0h24v24H0z&#34; fill=&#34;currentColor&#34;&gt;&lt;/path&gt;&#xA;      &lt;path d=&#34;M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76.0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71.0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71.0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76.0 5-2.24 5-5s-2.24-5-5-5z&#34;&gt;&lt;/path&gt;&#xA;    &lt;/svg&gt;&lt;/a&gt;&#xA;&lt;/h2&gt;&#xA;&lt;p&gt;Usaremos como ejemplo el conjunto de datos &lt;code&gt;iris&lt;/code&gt;, que viene incorporado en R, para aplicarle &lt;code&gt;summary()&lt;/code&gt; y así obtener sus &lt;strong&gt;estadísticos descriptivos&lt;/strong&gt;.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Crear tablas de datos manualmente en R</title>
      <link>https://bastianolea.rbind.io/blog/crear_dataframes/</link>
      <pubDate>Tue, 02 Dec 2025 00:00:00 +0000</pubDate>
      <guid>https://bastianolea.rbind.io/blog/crear_dataframes/</guid>
      <description>&lt;p&gt;Las tablas de datos o &lt;em&gt;dataframes&lt;/em&gt; son la estructura de información principal que usamos en R.&lt;/p&gt;&#xA;&lt;p&gt;En general cargamos los datos desde archivos o bases de datos, pero a veces necesitamos crear &lt;em&gt;dataframes&lt;/em&gt; sencillos a mano, ya sea para introducir datos manualmente, corregir datos, o crear pequeñas tablas auxiliares o de consulta (&lt;em&gt;lookup tables&lt;/em&gt;).&lt;/p&gt;&#xA;&lt;p&gt;Aquí te muestro dos formas de hacerlo: usando la función base &lt;code&gt;data.frame()&lt;/code&gt; y la función &lt;code&gt;tribble()&lt;/code&gt; del &#xA;&lt;a href=&#34;https://tibble.tidyverse.org&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;paquete &lt;code&gt;tibble&lt;/code&gt;&lt;/a&gt;.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Nuevo sitio con todo lo necesario para aprender R</title>
      <link>https://bastianolea.rbind.io/blog/aprender_r/</link>
      <pubDate>Mon, 01 Dec 2025 00:00:00 +0000</pubDate>
      <guid>https://bastianolea.rbind.io/blog/aprender_r/</guid>
      <description>&lt;a href=&#34;aprende_r_1-featured.jpeg&#34; target=&#34;_blank&#34;&gt;&#xA;&#xA;  &lt;img src=&#34;aprende_r_1-featured.jpeg&#34; style=&#39;border-radius: 5px; width: 60%; display: block; margin: auto; margin-bottom: 8px; margin-top: 8px;&#39;&gt;&#xA;  &#xA;&lt;/a&gt;&#xA;&lt;p&gt;Estoy haciendo hace varios días un sitio llamado &lt;strong&gt;&#xA;&lt;a href=&#34;https://bastianolea.github.io/aprende_r/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Aprende R&lt;/a&gt;&lt;/strong&gt;. La idea es agrupar en un sólo lugar todos los &lt;strong&gt;posts y tutoriales orientados a principiantes&lt;/strong&gt; que tengo, y así poder dirigir a la gente que quiere aprender a un sitio donde tendrán todo lo necesario (o al menos eso espero).&lt;/p&gt;&#xA;&lt;p&gt;El objetivo es poder entregar una &lt;strong&gt;guía clara para el aprendizaje autodidacta de R&lt;/strong&gt; para el análisis de datos, y lo pienso también como algo que me puede motivar más a seguir escribiendo tutoriales y mejorando &#xA;&lt;a href=&#34;https://bastianolea.rbind.io/categories/tutoriales/&#34;&gt;los que ya tengo&lt;/a&gt;. Por ejemplo, me di cuenta que me faltaba explicar mejor el uso de conectores o &lt;em&gt;pipes&lt;/em&gt; en R, así que &#xA;&lt;a href=&#34;https://bastianolea.rbind.io/blog/r_introduccion/conectores/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;hice un post&lt;/a&gt; más completo para ponerlo en &#xA;&lt;a href=&#34;https://bastianolea.github.io/aprende_r/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Aprender R&lt;/a&gt;.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Grupo de usuarios/as de R</title>
      <link>https://bastianolea.rbind.io/blog/grupo_usuarixs_r/</link>
      <pubDate>Thu, 27 Nov 2025 00:00:00 +0000</pubDate>
      <guid>https://bastianolea.rbind.io/blog/grupo_usuarixs_r/</guid>
      <description>&lt;div style=&#34;display: flex; align-items: center; gap: 15px; padding: 14px; &#xA;            /*background-color: #A985C650;*/&#xA;            background-color: #DEC4F2;&#xA;            border-radius: 6px;&#xA;            margin: 20px 40px 20px 40px;&#34;&gt;&#xA;  &#xA;  &lt;div style=&#34;flex-shrink: 0;&#34;&gt;&#xA;    &lt;i class=&#34;fas fa-info-circle&#34; style=&#34;font-size: 130%; margin-left: 2px; opacity: 1; color: #9069C0;&#34;&gt;&lt;/i&gt;&#xA;  &lt;/div&gt;&#xA;  &#xA;  &lt;aside style = &#34;font-size: 90%;&#34;&gt;&#xA;    &lt;strong&gt;Actualización:&lt;/strong&gt; el grupo de usuari@s de R ya es una realidad! &#xA;&lt;a href=&#34;https://santiagorusers.github.io&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Entra al sitio web del grupo&lt;/a&gt; para más información, o &#xA;&lt;a href=&#34;https://santiagorusers.github.io/participa.html&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;incríbete para participar&lt;/a&gt; en las reuniones mensuales!&#xA;  &lt;/aside&gt;&#xA;  &#xA;&lt;/div&gt;&#xA;&lt;p&gt;Me gustaría que existiera un grupo donde gente que use o aprenda R, ya sea en espacios profesionales, académicos o como hobby, puedan conversar, mostrar lo que hacen, compartir aprendizajes y darnos retroalimentación.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Recibe gatos o bendiciones automáticamente al abrir RStudio</title>
      <link>https://bastianolea.rbind.io/blog/2025-11-27/</link>
      <pubDate>Thu, 27 Nov 2025 00:00:00 +0000</pubDate>
      <guid>https://bastianolea.rbind.io/blog/2025-11-27/</guid>
      <description>&lt;p&gt;Luego de hacer el post de &#xA;&lt;a href=&#34;https://bastianolea.rbind.io/blog/2025-11-25/&#34;&gt;hacer que RStudio haga cosas al abrirse&lt;/a&gt;, se me ocurrió la idea de hacer que muestre imágenes divertidas al azar.&lt;/p&gt;&#xA;&lt;p&gt;Así que &#xA;&lt;a href=&#34;https://github.com/bastianolea/saluditos&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;hice un pequeño script&lt;/a&gt; que muestra fotos al azar de gatos desde la API &#xA;&lt;a href=&#34;https://cataas.com&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Cats As A Service&lt;/a&gt;, o bien imágenes de &#xA;&lt;a href=&#34;https://duckduckgo.com/?q=bendiciones&amp;#43;piolin&amp;amp;ia=images&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;bendiciones de Piolín&lt;/a&gt; que busqué en internet 💕&lt;/p&gt;&#xA;&lt;p&gt;Las fotos aparecen al azar al abrir RStudio en el panel &lt;em&gt;Viewer&lt;/em&gt;:&lt;/p&gt;&#xA;&lt;a href=&#34;pantallazo_1.png&#34; target=&#34;_blank&#34;&gt;&#xA;&#xA;  &lt;img src=&#34;pantallazo_1.png&#34; style=&#34;border-radius: 5px; width: 80%; max-width: 700px; display: block; margin: auto; margin-bottom: 8px; margin-top: 8px;&#34;&gt;&#xA;  &#xA;&lt;/a&gt;&#xA;&lt;p&gt;Para lograrlo, hay que editar el &#xA;&lt;a href=&#34;https://bastianolea.rbind.io/blog/2025-11-25/&#34;&gt;archivo &lt;code&gt;.RProfile&lt;/code&gt;&lt;/a&gt;, que es un script de R que se ejecuta automáticamente al abrirlo.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Crea encuestas online gratis en R con {surveydown}</title>
      <link>https://bastianolea.rbind.io/blog/surveydown_encuestas/</link>
      <pubDate>Wed, 26 Nov 2025 00:00:00 +0000</pubDate>
      <guid>https://bastianolea.rbind.io/blog/surveydown_encuestas/</guid>
      <description>&lt;p&gt;Con el paquete &#xA;&lt;a href=&#34;https://surveydown.org&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;&lt;code&gt;{surveydown}&lt;/code&gt;&lt;/a&gt; podemos crear encuestas desde R gratis, cuyas respuestas se almacenan en una base de datos también gratuita.&lt;/p&gt;&#xA;&lt;p&gt;La gracia de crear tu propia encuesta es que puedes personalizarla según tus necesidades, pero también es que no necesitas depender de un servicio para generar la encuesta, ni tampoco tener que pagar para poder crearla o publicarla. Por el contrario, podemos utilizar &lt;strong&gt;tecnologías gratuitas y de código abierto&lt;/strong&gt; para crear nuestras encuestas, almacenar sus resultados y analizarlos.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Configura R para que haga cosas automáticamente al abrirlo</title>
      <link>https://bastianolea.rbind.io/blog/2025-11-25/</link>
      <pubDate>Tue, 25 Nov 2025 00:00:00 +0000</pubDate>
      <guid>https://bastianolea.rbind.io/blog/2025-11-25/</guid>
      <description>&lt;p&gt;Se puede configurar R para que haga cosas automáticamente al iniciarse. Esto se logra creando un archivo &lt;code&gt;.Rprofile&lt;/code&gt;, que es un script de R que se ejecuta automáticamente cuando se inicia la sesión.&lt;/p&gt;&#xA;&lt;p&gt;Para crear un &lt;strong&gt;archivo de perfil&lt;/strong&gt; o &lt;code&gt;.Rprofile&lt;/code&gt;, usamos la función &lt;code&gt;edit_r_profile()&lt;/code&gt; del paquete &lt;code&gt;{usethis}&lt;/code&gt;:&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-r&#34; data-lang=&#34;r&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;usethis&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;::&lt;/span&gt;&lt;span class=&#34;nf&#34;&gt;edit_r_profile&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;()&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Con esto se abrirá el &lt;code&gt;.Rprofile&lt;/code&gt;. Este es un archivo invisible que se guarda en tu carpeta de usuario (home directory), que se va a ejecutar en todas tus sesiones de R. Pero también es posible tener otro dentro de cada proyecto de R, que sólo aplica a ese proyecto.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Visualización y scraping de resultados de las elecciones presidenciales 2025</title>
      <link>https://bastianolea.rbind.io/blog/elecciones_presidenciales_2025/</link>
      <pubDate>Mon, 17 Nov 2025 00:00:00 +0000</pubDate>
      <guid>https://bastianolea.rbind.io/blog/elecciones_presidenciales_2025/</guid>
      <description>&lt;p&gt;Hoy domingo 17 de noviembre celebramos una nueva fecha electoral en Chile, esta vez eligiendo presidente.&lt;/p&gt;&#xA;&lt;p&gt;Apliqué el &#xA;&lt;a href=&#34;https://bastianolea.rbind.io/blog/elecciones_municipales_2024/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;código que he usado en elecciones pasadas&lt;/a&gt; para obtener los datos del Servicio Electoral (Servel) en tiempo real, para así ir &lt;strong&gt;generando gráficos, tablas y mapas&lt;/strong&gt; con los resultados preliminares.&lt;/p&gt;&#xA;&lt;p&gt;&#xA;&lt;a href=&#34;https://github.com/bastianolea/servel_scraping_votaciones&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;El repositorio contiene todo el código&lt;/a&gt; para acceder en tiempo real a los &#xA;&lt;a href=&#34;https://elecciones.servel.cl&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;datos preliminares publicados en la web del Servel&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;p&gt;El sistema que programé usa &#xA;&lt;a href=&#34;https://bastianolea.rbind.io/blog/webscraping_selenium/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;RSelenium para hacer web scraping&lt;/a&gt; de las tablas, a las que se debe acceder presionando botones en el sitio para elegir elección, región, y comuna, por lo que Selenium resulta ideal para ir probando junto al navegador &lt;em&gt;títere&lt;/em&gt; las formas de controlar la navegación por medio de código, y eventualmente &lt;strong&gt;automatizar el acceso a todas las tablas&lt;/strong&gt; mediante un loop. Luego se aplica un script de &lt;strong&gt;limpieza de datos&lt;/strong&gt;, y finalmente, según las comunas del país que se definan, el sistema genera gráficos, tablas, mapas y textos en base a los resultados de cada comuna, los cuales se guardan y se ordenan en una carpeta llamada &lt;code&gt;salidas&lt;/code&gt;, la que me permite obtener todos los resultados juntos (las imágenes y el texto con cifras y otros datos) y listos para subir a redes sociales.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Mensajes de desconexión personalizados en Shiny</title>
      <link>https://bastianolea.rbind.io/blog/shiny_desconexion/</link>
      <pubDate>Sun, 16 Nov 2025 00:00:00 +0000</pubDate>
      <guid>https://bastianolea.rbind.io/blog/shiny_desconexion/</guid>
      <description>&lt;p&gt;Las aplicaciones Shiny funcionan con un servidor detrás, que es el proceso de R que realiza los cálculos necesarios para mostrar tus contenidos. Por lo mismo, estas aplicaciones &lt;strong&gt;no pueden estar conectadas por siempre&lt;/strong&gt;, porque el proceso no puede estar esperando que la o el usuario hagan algo por siempre, así que y &lt;strong&gt;luego de un tiempo de inactividad se desconectan&lt;/strong&gt;.&lt;/p&gt;&#xA;&lt;div style=&#34;margin: 28px 0;&#34;&gt;&#xA;    &lt;p class=&#34;titulo-panel&#34;&gt;&#xA;      Publicaciones relacionadas&#xA;    &lt;/p&gt;&#xA;&#xA;  &lt;a href=&#34;https://bastianolea.rbind.io/blog/shiny/&#34;&#xA;     style=&#34;display: flex;&#xA;            flex-direction: row;&#xA;            align-items: stretch;&#xA;            text-decoration: none;&#xA;            color: inherit;&#xA;            /*border: 1px solid #9069C035;*/&#xA;            border: solid 2px #A885C6AA;&#xA;            border-radius: 8px;&#xA;            overflow: hidden;&#xA;            /*background-color: #9069C00d;*/&#xA;            background-color: #9069C020;&#xA;            &#34;&gt;&#xA;&#xA;    &#xA;    &lt;figure style=&#34;flex-shrink: 0;&#xA;                   position: relative;&#xA;                   width: 140px;&#xA;                   min-height: 80px;&#xA;                   margin: 10px 0 10px 10px;&#xA;                   overflow: hidden;&#xA;                   border-radius: 5px;&#34;&gt;&#xA;      &lt;img src=&#34;https://bastianolea.rbind.io/blog/shiny/shiny-apps-featured.jpg&#34;&#xA;           alt=&#34;Tutorial: Crea aplicaciones web interactivas en R con Shiny&#34;&#xA;           style=&#34;position: absolute;&#xA;                  inset: 0;&#xA;                  width: 100%;&#xA;                  height: 100%;&#xA;                  object-fit: cover;&#xA;                  object-position: center top;&#xA;                  margin: 0;&#34;&gt;&#xA;    &lt;/figure&gt;&#xA;    &#xA;&#xA;    &lt;div style=&#34;padding: 15px 20px;&#xA;                flex: 1;&#xA;                display: flex;&#xA;                flex-direction: column;&#xA;                justify-content: center;&#xA;                gap: 6px;&#34;&gt;&#xA;&#xA;      &lt;p style=&#34;margin: 0;&#xA;                font-size: 95%;&#xA;                color: #9069C0;&#xA;                font-weight: bold;&#xA;                line-height: 1.35;&#34;&gt;&#xA;        Tutorial: Crea aplicaciones web interactivas en R con Shiny&#xA;      &lt;/p&gt;</description>
    </item>
    <item>
      <title>Actualización: plataforma de visualización de estadísticas delictuales</title>
      <link>https://bastianolea.rbind.io/blog/2025-11-14/</link>
      <pubDate>Sat, 15 Nov 2025 00:00:00 +0000</pubDate>
      <guid>https://bastianolea.rbind.io/blog/2025-11-14/</guid>
      <description>&lt;p&gt;Acabo de publicar una actualización a mi &#xA;&lt;a href=&#34;https://bastianoleah.shinyapps.io/delincuencia_chile&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;app de visualización de estadísticas delictuales&lt;/a&gt;. Consiste en la actualización a los &lt;strong&gt;datos más recientes a la fecha: junio de 2025&lt;/strong&gt;, publicados en la plataforma de estadísticas delictuales del &#xA;&lt;a href=&#34;https://cead.minsegpublica.gob.cl/estadisticas-delictuales/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Centro de Estudios y Análisis del Delito&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;div style=&#34;margin:auto; max-width:70%;&#34;&gt;&#xA;  &#xA;  &lt;video src=&#34;app_delincuencia_chile.mp4&#34; style=&#34;border-radius:7px; max-width: 100%; display: block; margin: auto;&#34; autoplay loop&gt;&#xA;  &lt;/video&gt;&#xA;&lt;/div&gt;&#xA;&#xA;&lt;p&gt;Se trata de una aplicación tipo dashboard que presenta visualizaciones de los datos oficiales de &lt;strong&gt;casos policiales&lt;/strong&gt;, entendidos como:&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;denuncias formales que la ciudadanía realiza en alguna unidad policial posterior a la ocurrencia del delito, más los delitos de los que la policía toma conocimiento al efectuar una detención en flagrancia, es decir, mientras ocurre el ilícito.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Comparación entre estadísticas oficiales de delincuencia y la cobertura de la delincuencia en medios de comunicación</title>
      <link>https://bastianolea.rbind.io/blog/delincuencia_prensa/</link>
      <pubDate>Sat, 15 Nov 2025 00:00:00 +0000</pubDate>
      <guid>https://bastianolea.rbind.io/blog/delincuencia_prensa/</guid>
      <description>&lt;p&gt;Éste es un proyecto personal de visualización de datos que realiza un cruce entre distintas fuentes de datos para ver la correlación entre la cobertura mediática de casos de delincuencia en Chile en comparación con las estadísticas mensuales de delitos en el país.&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;La hipótesis es que, si bien la delincuencia ha aumentado, &lt;strong&gt;la cobertura de prensa de temas sobre delincuencia ha aumentado en una medida mucho más grande que el fenómeno que pretende reflejar&lt;/strong&gt;.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Analiza el funcionamiento de tus aplicaciones Shiny con `{reactlog}`</title>
      <link>https://bastianolea.rbind.io/blog/shiny_reactlog/</link>
      <pubDate>Fri, 14 Nov 2025 00:00:00 +0000</pubDate>
      <guid>https://bastianolea.rbind.io/blog/shiny_reactlog/</guid>
      <description>&lt;p&gt;Las aplicaciones Shiny funcionan con &lt;strong&gt;&#xA;&lt;a href=&#34;https://shiny.posit.co/r/articles/build/reactivity-overview/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;reactividad&lt;/a&gt;&lt;/strong&gt;: una cadena de causalidad que va desde los &lt;em&gt;inputs&lt;/em&gt; de tu app, pasando por las expresiones reactivas (objetos de R que se actualizan automáticamente cuando cambian sus dependencias), hasta los &lt;em&gt;outputs&lt;/em&gt; que se muestran en la interfaz de usuario.&lt;/p&gt;&#xA;&lt;a href=&#34;shiny_esquema.png&#34; target=&#34;_blank&#34;&gt;&#xA;&#xA;  &lt;img src=&#34;shiny_esquema.png&#34; style=&#34;border-radius: 5px; width: 80%; max-width: 700px; display: block; margin: auto; margin-bottom: 8px; margin-top: 8px;&#34;&gt;&#xA;  &#xA;&lt;/a&gt;&#xA;&lt;p&gt;Cuando programamos una app Shiny vamos haciendo éste tipo de &lt;strong&gt;conexiones&lt;/strong&gt;:&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;estos dos &lt;em&gt;inputs&lt;/em&gt; van a hacer que en este &lt;code&gt;reactive()&lt;/code&gt; se filtren los datos, y el resultado del &lt;code&gt;reactive()&lt;/code&gt; va a usarse para generar un &lt;em&gt;output&lt;/em&gt; en forma de gráfico.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Portafolio: mapas de Áreas Metropolitanas</title>
      <link>https://bastianolea.rbind.io/blog/mapas_areas_metropolitanas/</link>
      <pubDate>Fri, 14 Nov 2025 00:00:00 +0000</pubDate>
      <guid>https://bastianolea.rbind.io/blog/mapas_areas_metropolitanas/</guid>
      <description>&lt;p&gt;Comparto un poco de mi trabajo como analista de datos en la Subsecretaría de Desarrollo Regional y Administrativo (Subdere).&lt;/p&gt;&#xA;&lt;a href=&#34;areas_metropolitanas_mapa_4.jpg&#34; target=&#34;_blank&#34;&gt;&#xA;&#xA;  &lt;img src=&#34;areas_metropolitanas_mapa_4.jpg&#34; style=&#39;border-radius: 5px; width: 60%; display: block; margin: auto; margin-bottom: 8px; margin-top: 8px;&#39;&gt;&#xA;  &#xA;&lt;/a&gt;&#xA;&lt;p&gt;En esta oportunidad me pidieron hacer mapas que visualizaran las propuestas de Áreas Metropolitanas en distintas regiones de Chile, junto a algunas estadísticas relacionadas.&lt;/p&gt;&#xA;&lt;a href=&#34;areas_metropolitanas_mapa_6.jpg&#34; target=&#34;_blank&#34;&gt;&#xA;&#xA;  &lt;img src=&#34;areas_metropolitanas_mapa_6.jpg&#34; style=&#39;border-radius: 5px; width: 60%; display: block; margin: auto; margin-bottom: 8px; margin-top: 8px;&#39;&gt;&#xA;  &#xA;&lt;/a&gt;&#xA;&lt;p&gt;Los mapas combinan &lt;em&gt;shapes&lt;/em&gt; y datos de múltiples fuentes:&lt;/p&gt;</description>
    </item>
    <item>
      <title>¿Por qué programar para trabajar con datos?</title>
      <link>https://bastianolea.rbind.io/blog/2025-11-13/</link>
      <pubDate>Thu, 13 Nov 2025 00:00:00 +0000</pubDate>
      <guid>https://bastianolea.rbind.io/blog/2025-11-13/</guid>
      <description>&lt;div style=&#34;width: 100%; text-align: center;&#34;&gt;&#xA;&lt;iframe src=&#34;https://www.linkedin.com/embed/feed/update/urn:li:share:7394772684074541056?collapsed=1&#34; height=&#34;262&#34; width=&#34;80%&#34; margin=&#34;auto&#34; frameborder=&#34;0&#34; allowfullscreen=&#34;&#34; title=&#34;Publicación integrada&#34;&gt;&lt;/iframe&gt;&#xA;&lt;/div&gt;&#xA;&lt;p&gt;Llevo varios años trabajando con datos, tanto en el sector privado, como independiente y en el sector público, y hay algo que es una constante: &lt;strong&gt;siempre&lt;/strong&gt; te van a pedir hacer cambios!&lt;/p&gt;&#xA;&lt;p&gt;Ya sea porque los datos cambian/se actualizan, porque hay que modificar los cálculos, porque hay que generar nuevos productos, o porque hay que cambiar los resultados (textos, gráficos, tablas).&lt;/p&gt;&#xA;&lt;p&gt;Por eso, para estos trabajos no basta con &amp;ldquo;hacer&amp;rdquo; el resultado de principio a fin (un reporte, etc.), porque cualquier cambio (en datos/cálculo/salidas) implicaría &amp;ldquo;re-hacer&amp;rdquo; el trabajo. Un cambio en los datos significa volver a hacer los gráficos, ponerlos en el informe, actualizar los textos, etc.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Desarrollando un buscador para mi blog con Shiny</title>
      <link>https://bastianolea.rbind.io/blog/buscador/</link>
      <pubDate>Tue, 11 Nov 2025 00:00:00 +0000</pubDate>
      <guid>https://bastianolea.rbind.io/blog/buscador/</guid>
      <description>&lt;a href=&#34;buscador-featured.png&#34; target=&#34;_blank&#34;&gt;&#xA;&#xA;  &lt;img src=&#34;buscador-featured.png&#34; style=&#34;border-radius: 5px; width: 80%; max-width: 700px; display: block; margin: auto; margin-bottom: 8px; margin-top: 8px;&#34;&gt;&#xA;  &#xA;&lt;/a&gt;&#xA;&lt;div style = &#34;margin-left: -16px;&#34;&gt;&#xA;  &#xA;  &lt;details closed id=&#34;PageTableOfContents&#34;&gt;&#xA;    &lt;summary&gt;&#xA;      &lt;h2 class=&#34;mv0 f5 fw7 ttu tracked dib&#34; style = &#34;margin-left: 6px; font-size: 120%;&#34;&gt;Índice&lt;/h2&gt;&#xA;      &lt;/summary&gt;&#xA;    &lt;div class=&#34;pl2 pr0 mh0&#34; style = &#34;font-size: 90%; margin-top: -8px; margin-left: 16px; margin-bottom: 32px;&#34;&gt;&#xA;    &lt;nav id=&#34;TableOfContents&#34;&gt;&#xA;  &lt;ul&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;#generando-el-índice-de-búsqueda&#34;&gt;Generando el índice de búsqueda&lt;/a&gt;&lt;/li&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;#obteniendo-los-datos-del-sitio&#34;&gt;Obteniendo los datos del sitio&lt;/a&gt;&lt;/li&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;#implementando-la-búsqueda&#34;&gt;Implementando la búsqueda&lt;/a&gt;&#xA;      &lt;ul&gt;&#xA;        &lt;li&gt;&lt;a href=&#34;#actualización-de-algoritmo-de-búsqueda&#34;&gt;Actualización de algoritmo de búsqueda&lt;/a&gt;&lt;/li&gt;&#xA;      &lt;/ul&gt;&#xA;    &lt;/li&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;#desarrollando-la-aplicación&#34;&gt;Desarrollando la aplicación&lt;/a&gt;&#xA;      &lt;ul&gt;&#xA;        &lt;li&gt;&lt;a href=&#34;#obtener-datos-desde-la-app&#34;&gt;Obtener datos desde la app&lt;/a&gt;&lt;/li&gt;&#xA;        &lt;li&gt;&lt;a href=&#34;#búsqueda-desde-la-app&#34;&gt;Búsqueda desde la app&lt;/a&gt;&lt;/li&gt;&#xA;        &lt;li&gt;&lt;a href=&#34;#salida-de-los-resultados-de-búsqueda&#34;&gt;Salida de los resultados de búsqueda&lt;/a&gt;&lt;/li&gt;&#xA;        &lt;li&gt;&lt;a href=&#34;#apariencia-de-la-app&#34;&gt;Apariencia de la app&lt;/a&gt;&lt;/li&gt;&#xA;      &lt;/ul&gt;&#xA;    &lt;/li&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;#conclusión&#34;&gt;Conclusión&lt;/a&gt;&lt;/li&gt;&#xA;  &lt;/ul&gt;&#xA;&lt;/nav&gt;&#xA;    &lt;/div&gt;&#xA;  &lt;/details&gt;&#xA;  &#xA;&lt;/div&gt;&#xA;&lt;p&gt;Este blog ya lleva más de 100 publicaciones! 🎉 y si bien &#xA;&lt;a href=&#34;https://bastianolea.rbind.io/tags/&#34;&gt;uso las etiquetas&lt;/a&gt; para mantener todo organizado y ayudar a descubrir nuevos posts, a veces hasta a mi me cuesta encontrar publicaciones entre tanta cosa 😅&lt;/p&gt;</description>
    </item>
    <item>
      <title>Encuentra diferencias entre objetos de R con {waldo}</title>
      <link>https://bastianolea.rbind.io/blog/waldo/</link>
      <pubDate>Mon, 10 Nov 2025 00:00:00 +0000</pubDate>
      <guid>https://bastianolea.rbind.io/blog/waldo/</guid>
      <description>&lt;p&gt;&#xA;&lt;a href=&#34;https://waldo.r-lib.org&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;&lt;code&gt;{waldo}&lt;/code&gt;&lt;/a&gt; es un paquete de R para encontrar diferencias entre objetos y conjuntos de datos.&lt;/p&gt;&#xA;&lt;p&gt;Creemos dos vectores de datos de ejemplo:&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-r&#34; data-lang=&#34;r&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;vector_a&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;&amp;lt;-&lt;/span&gt; &lt;span class=&#34;nf&#34;&gt;c&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s&#34;&gt;&amp;#34;a&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;s&#34;&gt;&amp;#34;b&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;s&#34;&gt;&amp;#34;c&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;s&#34;&gt;&amp;#34;d&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;s&#34;&gt;&amp;#34;e&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;vector_b&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;&amp;lt;-&lt;/span&gt; &lt;span class=&#34;nf&#34;&gt;c&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s&#34;&gt;&amp;#34;a&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;s&#34;&gt;&amp;#34;b&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;s&#34;&gt;&amp;#34;c&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;s&#34;&gt;&amp;#34;f&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Si los comparamos con la función &lt;code&gt;all.equal()&lt;/code&gt;, de R base, obtenemos un resultado poco informativo:&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-r&#34; data-lang=&#34;r&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# comparar con base&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nf&#34;&gt;all.equal&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;vector_a&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;vector_b&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;[1] &amp;quot;Lengths (5, 4) differ (string compare on first 4)&amp;quot;&#xA;[2] &amp;quot;1 string mismatch&amp;quot;                                &#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;p&gt;Básicamente nos dice &amp;ldquo;son distintos&amp;rdquo; 🤨&lt;/p&gt;&#xA;&lt;p&gt;Pero si usamos &lt;code&gt;waldo::compare()&lt;/code&gt;, obtenemos una comparación ordenada y clara de las diferencias:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Convierte gráficos `{ggplot2}` en visualizaciones interactivas con `{ggiraph}`</title>
      <link>https://bastianolea.rbind.io/blog/ggiraph/</link>
      <pubDate>Fri, 07 Nov 2025 00:00:00 +0000</pubDate>
      <guid>https://bastianolea.rbind.io/blog/ggiraph/</guid>
      <description>&lt;link href=&#34;ggiraph_files/libs/htmltools-fill-0.5.8.1/fill.css&#34; rel=&#34;stylesheet&#34; /&gt;&#xA;&lt;script src=&#34;ggiraph_files/libs/htmlwidgets-1.6.4/htmlwidgets.js&#34;&gt;&lt;/script&gt;&#xA;&lt;link href=&#34;ggiraph_files/libs/ggiraphjs-0.9.4/girafe.css&#34; rel=&#34;stylesheet&#34; /&gt;&#xA;&lt;script src=&#34;ggiraph_files/libs/ggiraphjs-0.9.4/girafe.js&#34;&gt;&lt;/script&gt;&#xA;&lt;script src=&#34;ggiraph_files/libs/girafe-binding-0.9.6/girafe.js&#34;&gt;&lt;/script&gt;&#xA;&lt;link href=&#34;ggiraph_files/libs/liberation-sans-0.5.0/css/liberation-sans.css&#34; rel=&#34;stylesheet&#34; /&gt;&#xA;&lt;link href=&#34;ggiraph_files/libs/liberation-serif-0.5.0/css/liberation-serif.css&#34; rel=&#34;stylesheet&#34; /&gt;&#xA;&lt;link href=&#34;ggiraph_files/libs/liberation-mono-0.5.0/css/liberation-mono.css&#34; rel=&#34;stylesheet&#34; /&gt;&#xA;&lt;a href=&#34;featured.png&#34; target=&#34;_blank&#34;&gt;&#xA;&#xA;  &lt;img src=&#34;featured.png&#34; style=&#34;border-radius: 5px; width: 80%; max-width: 700px; display: block; margin: auto; margin-bottom: 8px; margin-top: 8px;&#34;&gt;&#xA;  &#xA;&lt;/a&gt;&#xA;&lt;p&gt;&#xA;&lt;a href=&#34;https://davidgohel.github.io/ggiraph/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;&lt;code&gt;{ggiraph}&lt;/code&gt; es un paquete de R&lt;/a&gt; que permite agregar &lt;strong&gt;interactividad&lt;/strong&gt; a gráficos &lt;code&gt;{ggplot2}&lt;/code&gt;. Esto significa que tus gráficos podrán mostrar información extra al pasar el cursor encima (&lt;em&gt;tooltips&lt;/em&gt;), hacer que se destaquen u oculten elementos al pasar el cursor, hacer clic en elementos del gráfico para generar cambios en aplicaciones, y más.&lt;/p&gt;&#xA;&lt;p&gt;Un beneficio de &lt;code&gt;{ggiraph}&lt;/code&gt; es que, a diferencia de alternativas como &lt;code&gt;{plotly}&lt;/code&gt; o &lt;code&gt;{highcharter}&lt;/code&gt;, &lt;strong&gt;no necesitas aprender a usar un paquete de visualización nuevo&lt;/strong&gt;, porque &lt;code&gt;{ggiraph}&lt;/code&gt; usa los gráficos generados por &lt;code&gt;{ggplot2}&lt;/code&gt; y &lt;strong&gt;mantiene al 100% su apariencia&lt;/strong&gt;. Esto significa que tu gráfico interactivo se verá idéntico a tu gráfico de &lt;code&gt;{ggplot2}&lt;/code&gt; (a diferencia de con &lt;code&gt;ggplotly()&lt;/code&gt; 😒). Esto es gracias a que &lt;code&gt;{ggiraph}&lt;/code&gt; toma el gráfico que hiciste y lo convierte a &lt;code&gt;SVG&lt;/code&gt;, un formato de imagen vectorial que es compatible con HTML y CSS, lo que permite la interactividad.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Crear y conectarse a una base de datos en R</title>
      <link>https://bastianolea.rbind.io/blog/db_supabase/</link>
      <pubDate>Thu, 06 Nov 2025 00:00:00 +0000</pubDate>
      <guid>https://bastianolea.rbind.io/blog/db_supabase/</guid>
      <description>&lt;div style = &#34;margin-left: -16px;&#34;&gt;&#xA;  &#xA;  &lt;details closed id=&#34;PageTableOfContents&#34;&gt;&#xA;    &lt;summary&gt;&#xA;      &lt;h2 class=&#34;mv0 f5 fw7 ttu tracked dib&#34; style = &#34;margin-left: 6px; font-size: 120%;&#34;&gt;Índice&lt;/h2&gt;&#xA;      &lt;/summary&gt;&#xA;    &lt;div class=&#34;pl2 pr0 mh0&#34; style = &#34;font-size: 90%; margin-top: -8px; margin-left: 16px; margin-bottom: 32px;&#34;&gt;&#xA;    &lt;nav id=&#34;TableOfContents&#34;&gt;&#xA;  &lt;ul&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;#qué-es-una-base-de-datos&#34;&gt;Qué es una base de datos&lt;/a&gt;&lt;/li&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;#cuándo-usar-una-base-de-datos&#34;&gt;Cuándo usar una base de datos&lt;/a&gt;&lt;/li&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;#crear-una-base-de-datos-en-supabase&#34;&gt;Crear una base de datos en Supabase&lt;/a&gt;&lt;/li&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;#conectarse-a-la-base-de-datos&#34;&gt;Conectarse a la base de datos&lt;/a&gt;&#xA;      &lt;ul&gt;&#xA;        &lt;li&gt;&lt;a href=&#34;#credenciales-de-acceso&#34;&gt;Credenciales de acceso&lt;/a&gt;&lt;/li&gt;&#xA;        &lt;li&gt;&lt;a href=&#34;#variables-de-entorno&#34;&gt;Variables de entorno&lt;/a&gt;&lt;/li&gt;&#xA;        &lt;li&gt;&lt;a href=&#34;#conexión-a-la-base-de-datos&#34;&gt;Conexión a la base de datos&lt;/a&gt;&lt;/li&gt;&#xA;      &lt;/ul&gt;&#xA;    &lt;/li&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;#crear-una-tabla-en-la-base-de-datos&#34;&gt;Crear una tabla en la base de datos&lt;/a&gt;&lt;/li&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;#leer-una-tabla-desde-la-base-de-datos&#34;&gt;Leer una tabla desde la base de datos&lt;/a&gt;&lt;/li&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;#procesar-desde-la-base-de-datos-con-dplyr&#34;&gt;Procesar desde la base de datos con &lt;code&gt;{dplyr}&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;#avanzado&#34;&gt;Avanzado&lt;/a&gt;&#xA;      &lt;ul&gt;&#xA;        &lt;li&gt;&lt;a href=&#34;#conexión-por-ipv4&#34;&gt;Conexión por IPv4&lt;/a&gt;&lt;/li&gt;&#xA;      &lt;/ul&gt;&#xA;    &lt;/li&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;#recursos&#34;&gt;Recursos&lt;/a&gt;&lt;/li&gt;&#xA;  &lt;/ul&gt;&#xA;&lt;/nav&gt;&#xA;    &lt;/div&gt;&#xA;  &lt;/details&gt;&#xA;  &#xA;&lt;/div&gt;&#xA;&#xA;&#xA;&#xA;&#xA;&lt;h2 id=&#34;qué-es-una-base-de-datos&#34;&gt;Qué es una base de datos&#xA;  &lt;a href=&#34;#qu%c3%a9-es-una-base-de-datos&#34;&gt;&lt;svg class=&#34;anchor-symbol&#34; aria-hidden=&#34;true&#34; height=&#34;26&#34; width=&#34;26&#34; viewBox=&#34;0 0 22 22&#34; xmlns=&#34;http://www.w3.org/2000/svg&#34;&gt;&#xA;      &lt;path d=&#34;M0 0h24v24H0z&#34; fill=&#34;currentColor&#34;&gt;&lt;/path&gt;&#xA;      &lt;path d=&#34;M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76.0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71.0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71.0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76.0 5-2.24 5-5s-2.24-5-5-5z&#34;&gt;&lt;/path&gt;&#xA;    &lt;/svg&gt;&lt;/a&gt;&#xA;&lt;/h2&gt;&#xA;&lt;p&gt;Cuando se habla de datos, mucha gente (me incluyo) usa coloquialmente el término &lt;em&gt;base de datos&lt;/em&gt; para referirse a datos que están en Excel o &lt;code&gt;csv&lt;/code&gt; 😣 Pero la realidad es que una base de datos es algo distinto: un &lt;strong&gt;sistema de almacenamiento y procesamiento de datos&lt;/strong&gt; que puede contener múltiples tablas, que está &lt;em&gt;hosteado&lt;/em&gt; en un computador, servidor o en la nube, y que entrega datos de acuerdo a las solicitudes que se le hagan. En este sentido &lt;strong&gt;una base de datos es distinto a &lt;em&gt;leer&lt;/em&gt; un archivo&lt;/strong&gt;, porque la base de datos siempre tiene &lt;em&gt;cargados&lt;/em&gt; los datos, y está esperando que se los pidan para entregarlos de manera optimizada.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Optimiza la velocidad de tus aplicaciones Shiny con `bindCache()`</title>
      <link>https://bastianolea.rbind.io/blog/shiny_optimizar/</link>
      <pubDate>Tue, 04 Nov 2025 00:00:00 +0000</pubDate>
      <guid>https://bastianolea.rbind.io/blog/shiny_optimizar/</guid>
      <description>&lt;a href=&#34;shiny_esquema_3.png&#34; target=&#34;_blank&#34;&gt;&#xA;&#xA;  &lt;img src=&#34;shiny_esquema_3.png&#34; style=&#34;border-radius: 5px; width: 80%; max-width: 700px; display: block; margin: auto; margin-bottom: 8px; margin-top: 8px;&#34;&gt;&#xA;  &#xA;&lt;/a&gt;&#xA;&lt;p&gt;En una aplicación Shiny, cada interacción que la/el usuario hace suele conllevar un &lt;strong&gt;cálculo&lt;/strong&gt; de R que se ejecuta para producir un &lt;em&gt;output&lt;/em&gt;, como una tabla o un gráfico. Dependiendo de la cantidad de datos, de la complejidad del cálculo o del &lt;em&gt;output&lt;/em&gt;, estas interacciones pueden tomar más tiempo del esperado.&lt;/p&gt;&#xA;&lt;div style=&#34;margin: 28px 0;&#34;&gt;&#xA;    &lt;p class=&#34;titulo-panel&#34;&gt;&#xA;      Publicaciones relacionadas&#xA;    &lt;/p&gt;&#xA;&#xA;  &lt;a href=&#34;https://bastianolea.rbind.io/blog/shiny/&#34;&#xA;     style=&#34;display: flex;&#xA;            flex-direction: row;&#xA;            align-items: stretch;&#xA;            text-decoration: none;&#xA;            color: inherit;&#xA;            /*border: 1px solid #9069C035;*/&#xA;            border: solid 2px #A885C6AA;&#xA;            border-radius: 8px;&#xA;            overflow: hidden;&#xA;            /*background-color: #9069C00d;*/&#xA;            background-color: #9069C020;&#xA;            &#34;&gt;&#xA;&#xA;    &#xA;    &lt;figure style=&#34;flex-shrink: 0;&#xA;                   position: relative;&#xA;                   width: 140px;&#xA;                   min-height: 80px;&#xA;                   margin: 10px 0 10px 10px;&#xA;                   overflow: hidden;&#xA;                   border-radius: 5px;&#34;&gt;&#xA;      &lt;img src=&#34;https://bastianolea.rbind.io/blog/shiny/shiny-apps-featured.jpg&#34;&#xA;           alt=&#34;Tutorial: Crea aplicaciones web interactivas en R con Shiny&#34;&#xA;           style=&#34;position: absolute;&#xA;                  inset: 0;&#xA;                  width: 100%;&#xA;                  height: 100%;&#xA;                  object-fit: cover;&#xA;                  object-position: center top;&#xA;                  margin: 0;&#34;&gt;&#xA;    &lt;/figure&gt;&#xA;    &#xA;&#xA;    &lt;div style=&#34;padding: 15px 20px;&#xA;                flex: 1;&#xA;                display: flex;&#xA;                flex-direction: column;&#xA;                justify-content: center;&#xA;                gap: 6px;&#34;&gt;&#xA;&#xA;      &lt;p style=&#34;margin: 0;&#xA;                font-size: 95%;&#xA;                color: #9069C0;&#xA;                font-weight: bold;&#xA;                line-height: 1.35;&#34;&gt;&#xA;        Tutorial: Crea aplicaciones web interactivas en R con Shiny&#xA;      &lt;/p&gt;</description>
    </item>
    <item>
      <title>Crea una carpeta inteligente con todos tus proyectos de R en Mac</title>
      <link>https://bastianolea.rbind.io/blog/2025-10-29/</link>
      <pubDate>Wed, 29 Oct 2025 00:00:00 +0000</pubDate>
      <guid>https://bastianolea.rbind.io/blog/2025-10-29/</guid>
      <description>&lt;p&gt;Si eres usuario/a de macOS y de R, aquí va un truquito para facilitar tu trabajo.&lt;/p&gt;&#xA;&lt;p&gt;En el Finder puedes crear &lt;strong&gt;carpetas inteligentes&lt;/strong&gt;, que muestran automáticamente archivos que cumplen ciertos criterios, intependiente de donde estén en tu computador. Básicamente son carpetas que guardan resultados de búsqueda que se mantienen actualizados.&lt;/p&gt;&#xA;&lt;p&gt;Con esto podemos crear una carpeta que muestre todos tus proyectos de R, para poder acceder a ellos más rápido.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Comandos comunes de Git</title>
      <link>https://bastianolea.rbind.io/blog/git_comandos/</link>
      <pubDate>Mon, 27 Oct 2025 00:00:00 +0000</pubDate>
      <guid>https://bastianolea.rbind.io/blog/git_comandos/</guid>
      <description>&lt;p&gt;&lt;code&gt;git&lt;/code&gt; es una herramienta para el control de versiones de código, respaldo de código, y colaboración. En otro post hice un tutorial para &#xA;&lt;a href=&#34;https://bastianolea.rbind.io/blog/r_introduccion/tutorial_github/&#34;&gt;aprender a usar &lt;code&gt;git&lt;/code&gt; y GitHub con R y RStudio&lt;/a&gt;. En este post voy a mantener una lista&lt;sup id=&#34;fnref:1&#34;&gt;&lt;a href=&#34;#fn:1&#34; class=&#34;footnote-ref&#34; role=&#34;doc-noteref&#34;&gt;1&lt;/a&gt;&lt;/sup&gt; de los comandos que más uso en &lt;code&gt;git&lt;/code&gt;, así como los comandos que necesito para resolver los &lt;strong&gt;problemas más frecuentes.&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;div style=&#34;margin: 28px 0;&#34;&gt;&#xA;    &lt;p class=&#34;titulo-panel&#34;&gt;&#xA;      Publicaciones relacionadas&#xA;    &lt;/p&gt;&#xA;&#xA;  &lt;a href=&#34;https://bastianolea.rbind.io/blog/r_introduccion/tutorial_github/&#34;&#xA;     style=&#34;display: flex;&#xA;            flex-direction: row;&#xA;            align-items: stretch;&#xA;            text-decoration: none;&#xA;            color: inherit;&#xA;            /*border: 1px solid #9069C035;*/&#xA;            border: solid 2px #A885C6AA;&#xA;            border-radius: 8px;&#xA;            overflow: hidden;&#xA;            /*background-color: #9069C00d;*/&#xA;            background-color: #9069C020;&#xA;            &#34;&gt;&#xA;&#xA;    &#xA;    &lt;figure style=&#34;flex-shrink: 0;&#xA;                   position: relative;&#xA;                   width: 140px;&#xA;                   min-height: 80px;&#xA;                   margin: 10px 0 10px 10px;&#xA;                   overflow: hidden;&#xA;                   border-radius: 5px;&#34;&gt;&#xA;      &lt;img src=&#34;https://bastianolea.rbind.io/blog/r_introduccion/tutorial_github/titulo_github-featured.png&#34;&#xA;           alt=&#34;Tutorial: crear un repositorio Git para tu proyecto de R y comparte tu código en GitHub&#34;&#xA;           style=&#34;position: absolute;&#xA;                  inset: 0;&#xA;                  width: 100%;&#xA;                  height: 100%;&#xA;                  object-fit: cover;&#xA;                  object-position: center top;&#xA;                  margin: 0;&#34;&gt;&#xA;    &lt;/figure&gt;&#xA;    &#xA;&#xA;    &lt;div style=&#34;padding: 15px 20px;&#xA;                flex: 1;&#xA;                display: flex;&#xA;                flex-direction: column;&#xA;                justify-content: center;&#xA;                gap: 6px;&#34;&gt;&#xA;&#xA;      &lt;p style=&#34;margin: 0;&#xA;                font-size: 95%;&#xA;                color: #9069C0;&#xA;                font-weight: bold;&#xA;                line-height: 1.35;&#34;&gt;&#xA;        Tutorial: crear un repositorio Git para tu proyecto de R y comparte tu código en GitHub&#xA;      &lt;/p&gt;</description>
    </item>
    <item>
      <title>Taller: Compartir y colaborar desde el cruce entre las ciencias de datos y las ciencias sociales</title>
      <link>https://bastianolea.rbind.io/blog/taller_datos_unam/</link>
      <pubDate>Mon, 27 Oct 2025 00:00:00 +0000</pubDate>
      <guid>https://bastianolea.rbind.io/blog/taller_datos_unam/</guid>
      <description>&lt;p&gt;El viernes 22 de agosto de 2025 tuve el honor de participar en las clases magistrales del &lt;strong&gt;Diplomado de Ciencia de Datos para Ciencias Sociales y Humanidades&lt;/strong&gt; de la Facultad de Estudios Superiores Acatlán, Universidad Nacional Autónoma de México (UNAM).&lt;/p&gt;&#xA;&lt;p&gt;Me pidieron hacer un taller acerca de cómo crear una &lt;em&gt;marca personal&lt;/em&gt; como científico de datos, pero dándole unas vueltas a esa idea, terminé hablando sobre tres principios: &lt;strong&gt;crear, diferenciarse y compartir&lt;/strong&gt;.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Visualizar un mapa de Chile separado en tres secciones</title>
      <link>https://bastianolea.rbind.io/blog/mapa_chile_triple/</link>
      <pubDate>Thu, 23 Oct 2025 00:00:00 +0000</pubDate>
      <guid>https://bastianolea.rbind.io/blog/mapa_chile_triple/</guid>
      <description>&lt;a href=&#34;mapa_chile_tres_featured.png&#34; target=&#34;_blank&#34;&gt;&#xA;&#xA;  &lt;img src=&#34;mapa_chile_tres_featured.png&#34; style=&#34;border-radius: 5px; width: 80%; max-width: 700px; display: block; margin: auto; margin-bottom: 8px; margin-top: 8px;&#34;&gt;&#xA;  &#xA;&lt;/a&gt;&#xA;&lt;p&gt;Como Chile es un país tan largo, a veces cuesta publicar mapas que se vean bien por el espacio que requiere. En otro post &#xA;&lt;a href=&#34;../../../blog/mapa_chile_horizontal/&#34;&gt;intentamos resolver esto girando Chile para que quede horizontal o &lt;em&gt;acostado&lt;/em&gt;&lt;/a&gt;. Ahora veremos otra opción: partir Chile en tres secciones, norte centro y sur, que podemos disponer lado a lado para ocupar mejor el espacio.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Contar datos perdidos en una o varias columnas</title>
      <link>https://bastianolea.rbind.io/blog/2025-10-21/</link>
      <pubDate>Tue, 21 Oct 2025 00:00:00 +0000</pubDate>
      <guid>https://bastianolea.rbind.io/blog/2025-10-21/</guid>
      <description>&lt;p&gt;Cuando estamos limpiando datos frecuentemente nos preguntamos &lt;strong&gt;cuántos &#xA;&lt;a href=&#34;../../../tags/datos-perdidos/&#34;&gt;datos perdidos&lt;/a&gt; tiene una columna.&lt;/strong&gt; La respuesta se obtiene pidiendo un resumen (&lt;code&gt;summarize()&lt;/code&gt;) que cuente la suma de datos perdidos (&lt;code&gt;sum(is.na())&lt;/code&gt;) en una columna específica.&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-r&#34; data-lang=&#34;r&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nf&#34;&gt;library&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;dplyr&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# contar datos perdidos en una columna&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;iris&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;|&amp;gt;&lt;/span&gt; &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;nf&#34;&gt;summarize&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;n&#34;&gt;missings&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;nf&#34;&gt;sum&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nf&#34;&gt;is.na&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;Sepal.Length&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;))&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;  missings&#xA;1        0&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;p&gt;¿Pero qué pasa si tienes muchas columnas y quieres revisarlo en todas? No vas a andar escribiendo las columnas una por una&amp;hellip; 😵‍💫&lt;/p&gt;</description>
    </item>
    <item>
      <title>Redactar palabras en plural en R</title>
      <link>https://bastianolea.rbind.io/blog/2025-10-21b/</link>
      <pubDate>Tue, 21 Oct 2025 00:00:00 +0000</pubDate>
      <guid>https://bastianolea.rbind.io/blog/2025-10-21b/</guid>
      <description>&lt;p&gt;Cuando desarrollamos &#xA;&lt;a href=&#34;../../../tags/quarto/&#34;&gt;reportes&lt;/a&gt;, &#xA;&lt;a href=&#34;../../../tags/gr%c3%a1ficos/&#34;&gt;gráficos&lt;/a&gt; o &#xA;&lt;a href=&#34;../../../tags/shiny/&#34;&gt;aplicaciones&lt;/a&gt; en R, necesitamos hacer que nuestros &#xA;&lt;a href=&#34;../../../tags/texto/&#34;&gt;textos&lt;/a&gt; se adapten a los datos que estamos analizando.&lt;/p&gt;&#xA;&lt;p&gt;Si tenemos que poner texto sobre una cantidad de elementos, tenemos que escribir en singular o plural dependiendo de la cantidad (&lt;em&gt;1 gato, 2 gatos&lt;/em&gt;).&lt;/p&gt;&#xA;&lt;p&gt;Por ejemplo, si tenemos un objeto &lt;code&gt;cantidad&lt;/code&gt; que contiene el número de gatos, y queremos escribir un texto que diga &amp;ldquo;gato&amp;rdquo; o &amp;ldquo;gatos&amp;rdquo; dependiendo de la cantidad, podemos usar la función &lt;code&gt;ifelse()&lt;/code&gt;:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Acelera tus análisis con `{gander}`, un asistente de IA integrado en RStudio</title>
      <link>https://bastianolea.rbind.io/blog/gander/</link>
      <pubDate>Mon, 20 Oct 2025 00:00:00 +0000</pubDate>
      <guid>https://bastianolea.rbind.io/blog/gander/</guid>
      <description>&lt;div style=&#34;max-width:400px; margin: auto;&#34;&gt;&#xA;&lt;a href=&#34;gander.png&#34; target=&#34;_blank&#34;&gt;&#xA;&#xA;  &lt;img src=&#34;gander.png&#34; style=&#34;border-radius: 5px; width: 80%; max-width: 700px; display: block; margin: auto; margin-bottom: 8px; margin-top: 8px;&#34;&gt;&#xA;  &#xA;&lt;/a&gt;&#xA;&lt;/div&gt;&#xA;&lt;div style = &#34;margin-left: -16px;&#34;&gt;&#xA;  &#xA;  &lt;details closed id=&#34;PageTableOfContents&#34;&gt;&#xA;    &lt;summary&gt;&#xA;      &lt;h2 class=&#34;mv0 f5 fw7 ttu tracked dib&#34; style = &#34;margin-left: 6px; font-size: 120%;&#34;&gt;Índice&lt;/h2&gt;&#xA;      &lt;/summary&gt;&#xA;    &lt;div class=&#34;pl2 pr0 mh0&#34; style = &#34;font-size: 90%; margin-top: -8px; margin-left: 16px; margin-bottom: 32px;&#34;&gt;&#xA;    &lt;nav id=&#34;TableOfContents&#34;&gt;&#xA;  &lt;ul&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;#instalación&#34;&gt;Instalación&lt;/a&gt;&lt;/li&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;#configurar-un-proveedor-de-iamodelo-de-lenguaje&#34;&gt;Configurar un proveedor de IA/modelo de lenguaje&lt;/a&gt;&#xA;      &lt;ul&gt;&#xA;        &lt;li&gt;&lt;a href=&#34;#opción-a-instalar-un-modelo-de-lenguaje-local-desde-r&#34;&gt;Opción A: instalar un modelo de lenguaje local desde R&lt;/a&gt;&lt;/li&gt;&#xA;        &lt;li&gt;&lt;a href=&#34;#opción-b-configurar-un-proveedor-de-ia-en-la-nube&#34;&gt;Opción B: configurar un proveedor de IA en la nube&lt;/a&gt;&lt;/li&gt;&#xA;      &lt;/ul&gt;&#xA;    &lt;/li&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;#guardar-configuración-del-modelo&#34;&gt;Guardar configuración del modelo&lt;/a&gt;&lt;/li&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;#configurar-atajo-de-teclado&#34;&gt;Configurar atajo de teclado&lt;/a&gt;&lt;/li&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;#usar-gander&#34;&gt;Usar &lt;code&gt;{gander}&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;#ejemplo-de-uso&#34;&gt;Ejemplo de uso&lt;/a&gt;&lt;/li&gt;&#xA;  &lt;/ul&gt;&#xA;&lt;/nav&gt;&#xA;    &lt;/div&gt;&#xA;  &lt;/details&gt;&#xA;  &#xA;&lt;/div&gt;&#xA;&lt;p&gt;&#xA;&lt;a href=&#34;https://simonpcouch.github.io/gander/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;&lt;code&gt;{gander}&lt;/code&gt; es un paquete de R para integrar asistentes de inteligencia artificial (IA) directamente en RStudio.&lt;/a&gt; Solo con presionar una combinación de teclas, podrás pedirle a un asistente con tus propias palabras que escriba código, corrija tu código, o incluso que genere gráficos.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Actualización del blog: etiquetas</title>
      <link>https://bastianolea.rbind.io/blog/2025-10-16/</link>
      <pubDate>Thu, 16 Oct 2025 00:00:00 +0000</pubDate>
      <guid>https://bastianolea.rbind.io/blog/2025-10-16/</guid>
      <description>&lt;p&gt;Por fin tuve un respiro en el trabajo, así que aproveché de darle una manito de gato a este sitio. Cambié algunas cosas estéticas menores y algunas funcionalidades que tenía pendientes de hace tiempo.&lt;/p&gt;&#xA;&lt;p&gt;Agregué al &#xA;&lt;a href=&#34;https://bastianolea.rbind.io&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;inicio&lt;/a&gt; del sitio un panel que contiene las etiquetas o &lt;em&gt;tags&lt;/em&gt; más usados en el blog, para indicar los temas que trato en los posts y para que la gente interesada pueda llegar a los posts.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Validación de datos con `{testthat}` y `{pointblank}`</title>
      <link>https://bastianolea.rbind.io/blog/validacion_datos/</link>
      <pubDate>Wed, 15 Oct 2025 00:00:00 +0000</pubDate>
      <guid>https://bastianolea.rbind.io/blog/validacion_datos/</guid>
      <description>&lt;a href=&#34;pointblank-1.png&#34; target=&#34;_blank&#34;&gt;&#xA;&#xA;  &lt;img src=&#34;pointblank-1.png&#34; style=&#34;border-radius: 5px; width: 80%; max-width: 700px; display: block; margin: auto; margin-bottom: 8px; margin-top: 8px;&#34;&gt;&#xA;  &#xA;&lt;/a&gt;&#xA;&lt;p&gt;En un &#xA;&lt;a href=&#34;../../../blog/validacion_basica&#34;&gt;post anterior&lt;/a&gt; hablé sobre cómo hacer validación básica de datos en R. A grandes razgos, vimos la utilidad de crear funciones que contengan pruebas simples para validar la calidad de tus datos, tales como revisar cantidad de filas, cantidad de datos perdidos, y otros.&lt;/p&gt;&#xA;&lt;p&gt;Dado que R es un lenguaje enfocado en el análisis de datos, existen varios paquetes que nos pueden ayudar con la validación de datos!&lt;/p&gt;</description>
    </item>
    <item>
      <title>Crea un mapa de Chile desde la cartografía oficial en R</title>
      <link>https://bastianolea.rbind.io/blog/tutorial_mapa_chile_subdere/</link>
      <pubDate>Tue, 14 Oct 2025 00:00:00 +0000</pubDate>
      <guid>https://bastianolea.rbind.io/blog/tutorial_mapa_chile_subdere/</guid>
      <description>&lt;p&gt;En post anteriores mostré cómo hacer &#xA;&lt;a href=&#34;../../../blog/tutorial_mapa_chile/&#34;&gt;mapas comunales y regionales de Chile&lt;/a&gt; con R, y a hacer &#xA;&lt;a href=&#34;../../../blog/tutorial_mapa_urbano/&#34;&gt;mapas de los territorios urbanos del país&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;p&gt;En este tutorial aprenderemos a crear mapas de Chile en R usando datos geográficos o &lt;em&gt;shapes&lt;/em&gt; oficiales de Chile, obtenidos desde la &#xA;&lt;a href=&#34;https://ide.subdere.gov.cl/descargas-con-filtros/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Subsecretaría de Desarrollo Regional y Administrativo&lt;/a&gt; (Subdere) y la &#xA;&lt;a href=&#34;https://www.bcn.cl/siit/mapas_vectoriales&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Biblioteca del Congreso Nacional de Chile&lt;/a&gt; (BCN).&lt;/p&gt;&#xA;&lt;p&gt;El objetivo será aprender a visualizar mapas desde &lt;em&gt;shapefiles&lt;/em&gt; obtenidos de internet, y a procesar datos geográficos más complejos con R, para generar mapas de Chile con polígonos y límites geográficamente correctos.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Mostrar y ocultar elementos de una app Shiny a partir de datos o inputs</title>
      <link>https://bastianolea.rbind.io/blog/shiny_ocultar/</link>
      <pubDate>Fri, 10 Oct 2025 00:00:00 +0000</pubDate>
      <guid>https://bastianolea.rbind.io/blog/shiny_ocultar/</guid>
      <description>&lt;p&gt;Gracias &#xA;&lt;a href=&#34;https://deanattali.com/shinyjs/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;al paquete &lt;code&gt;{shinyjs}&lt;/code&gt;&lt;/a&gt; podemos hacer que una app Shiny muestre u oculte elementos según los datos que correspondan o los inputs que haya seleccionado el usuario.&lt;/p&gt;&#xA;&lt;div style=&#34;margin: 28px 0;&#34;&gt;&#xA;    &lt;p class=&#34;titulo-panel&#34;&gt;&#xA;      Publicaciones relacionadas&#xA;    &lt;/p&gt;&#xA;&#xA;  &lt;a href=&#34;https://bastianolea.rbind.io/blog/shiny/&#34;&#xA;     style=&#34;display: flex;&#xA;            flex-direction: row;&#xA;            align-items: stretch;&#xA;            text-decoration: none;&#xA;            color: inherit;&#xA;            /*border: 1px solid #9069C035;*/&#xA;            border: solid 2px #A885C6AA;&#xA;            border-radius: 8px;&#xA;            overflow: hidden;&#xA;            /*background-color: #9069C00d;*/&#xA;            background-color: #9069C020;&#xA;            &#34;&gt;&#xA;&#xA;    &#xA;    &lt;figure style=&#34;flex-shrink: 0;&#xA;                   position: relative;&#xA;                   width: 140px;&#xA;                   min-height: 80px;&#xA;                   margin: 10px 0 10px 10px;&#xA;                   overflow: hidden;&#xA;                   border-radius: 5px;&#34;&gt;&#xA;      &lt;img src=&#34;https://bastianolea.rbind.io/blog/shiny/shiny-apps-featured.jpg&#34;&#xA;           alt=&#34;Tutorial: Crea aplicaciones web interactivas en R con Shiny&#34;&#xA;           style=&#34;position: absolute;&#xA;                  inset: 0;&#xA;                  width: 100%;&#xA;                  height: 100%;&#xA;                  object-fit: cover;&#xA;                  object-position: center top;&#xA;                  margin: 0;&#34;&gt;&#xA;    &lt;/figure&gt;&#xA;    &#xA;&#xA;    &lt;div style=&#34;padding: 15px 20px;&#xA;                flex: 1;&#xA;                display: flex;&#xA;                flex-direction: column;&#xA;                justify-content: center;&#xA;                gap: 6px;&#34;&gt;&#xA;&#xA;      &lt;p style=&#34;margin: 0;&#xA;                font-size: 95%;&#xA;                color: #9069C0;&#xA;                font-weight: bold;&#xA;                line-height: 1.35;&#34;&gt;&#xA;        Tutorial: Crea aplicaciones web interactivas en R con Shiny&#xA;      &lt;/p&gt;</description>
    </item>
    <item>
      <title>Temas de colores personalizados en apps Shiny</title>
      <link>https://bastianolea.rbind.io/blog/shiny_temas/</link>
      <pubDate>Thu, 09 Oct 2025 00:00:00 +0000</pubDate>
      <guid>https://bastianolea.rbind.io/blog/shiny_temas/</guid>
      <description>&lt;p&gt;Elevar tus aplicaciones Shiny al siguiente nivel es muy fácil! Una app con un diseño atractivo y profesional puede marcar la diferencia entre que alguien la use o no, o bien, que alguien la recuerde o no!&lt;/p&gt;&#xA;&lt;div style=&#34;margin: 28px 0;&#34;&gt;&#xA;    &lt;p class=&#34;titulo-panel&#34;&gt;&#xA;      Publicaciones relacionadas&#xA;    &lt;/p&gt;&#xA;&#xA;  &lt;a href=&#34;https://bastianolea.rbind.io/blog/shiny/&#34;&#xA;     style=&#34;display: flex;&#xA;            flex-direction: row;&#xA;            align-items: stretch;&#xA;            text-decoration: none;&#xA;            color: inherit;&#xA;            /*border: 1px solid #9069C035;*/&#xA;            border: solid 2px #A885C6AA;&#xA;            border-radius: 8px;&#xA;            overflow: hidden;&#xA;            /*background-color: #9069C00d;*/&#xA;            background-color: #9069C020;&#xA;            &#34;&gt;&#xA;&#xA;    &#xA;    &lt;figure style=&#34;flex-shrink: 0;&#xA;                   position: relative;&#xA;                   width: 140px;&#xA;                   min-height: 80px;&#xA;                   margin: 10px 0 10px 10px;&#xA;                   overflow: hidden;&#xA;                   border-radius: 5px;&#34;&gt;&#xA;      &lt;img src=&#34;https://bastianolea.rbind.io/blog/shiny/shiny-apps-featured.jpg&#34;&#xA;           alt=&#34;Tutorial: Crea aplicaciones web interactivas en R con Shiny&#34;&#xA;           style=&#34;position: absolute;&#xA;                  inset: 0;&#xA;                  width: 100%;&#xA;                  height: 100%;&#xA;                  object-fit: cover;&#xA;                  object-position: center top;&#xA;                  margin: 0;&#34;&gt;&#xA;    &lt;/figure&gt;&#xA;    &#xA;&#xA;    &lt;div style=&#34;padding: 15px 20px;&#xA;                flex: 1;&#xA;                display: flex;&#xA;                flex-direction: column;&#xA;                justify-content: center;&#xA;                gap: 6px;&#34;&gt;&#xA;&#xA;      &lt;p style=&#34;margin: 0;&#xA;                font-size: 95%;&#xA;                color: #9069C0;&#xA;                font-weight: bold;&#xA;                line-height: 1.35;&#34;&gt;&#xA;        Tutorial: Crea aplicaciones web interactivas en R con Shiny&#xA;      &lt;/p&gt;</description>
    </item>
    <item>
      <title>App: comparación de ingresos regionales y comunales</title>
      <link>https://bastianolea.rbind.io/blog/app_mideso_ingresos_genero/</link>
      <pubDate>Wed, 24 Sep 2025 00:00:00 +0000</pubDate>
      <guid>https://bastianolea.rbind.io/blog/app_mideso_ingresos_genero/</guid>
      <description>&lt;p&gt;Esta plataforma visualiza datos de ingresos a nivel regional, comunal, y por género.&lt;/p&gt;&#xA;&lt;p&gt;Su objetivo es visibilizar diferencias de los ingresos recibidos por las personas, permitiendo compararlos por regiones y comunas, así como también producir comparaciones de brechas de género entre hombres y mujeres.&lt;/p&gt;&#xA;&lt;p&gt;La fuente de los datos está en el &#xA;&lt;a href=&#34;https://bidat.gob.cl/details/ficha/dataset/5384a6c7-628f-45b6-a918-6b28402affbb?page=1&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Banco Integrado de Datos&lt;/a&gt; de Mideso.&lt;/p&gt;&#xA;&#xA;&#xA;&#xA;&#xA;&lt;h3 id=&#34;datos&#34;&gt;Datos&#xA;  &lt;a href=&#34;#datos&#34;&gt;&lt;svg class=&#34;anchor-symbol&#34; aria-hidden=&#34;true&#34; height=&#34;26&#34; width=&#34;26&#34; viewBox=&#34;0 0 22 22&#34; xmlns=&#34;http://www.w3.org/2000/svg&#34;&gt;&#xA;      &lt;path d=&#34;M0 0h24v24H0z&#34; fill=&#34;currentColor&#34;&gt;&lt;/path&gt;&#xA;      &lt;path d=&#34;M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76.0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71.0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71.0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76.0 5-2.24 5-5s-2.24-5-5-5z&#34;&gt;&lt;/path&gt;&#xA;    &lt;/svg&gt;&lt;/a&gt;&#xA;&lt;/h3&gt;&#xA;&lt;p&gt;Obtén los datos procesados en formato &lt;code&gt;csv&lt;/code&gt; &#xA;&lt;a href=&#34;https://github.com/bastianolea/mideso_ingresos_genero/raw/main/datos/mideso_ingresos_genero.csv&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;en este enlace.&lt;/a&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Infografía: Violaciones a los Derechos Humanos cometidas por la dictadura cívico-militar chilena</title>
      <link>https://bastianolea.rbind.io/blog/infografia_violaciones_ddhh_chile/</link>
      <pubDate>Thu, 11 Sep 2025 00:00:00 +0000</pubDate>
      <guid>https://bastianolea.rbind.io/blog/infografia_violaciones_ddhh_chile/</guid>
      <description>&lt;a href=&#34;featured.jpg&#34; target=&#34;_blank&#34;&gt;&#xA;&#xA;  &lt;img src=&#34;featured.jpg&#34; style=&#34;border-radius: 5px; width: 80%; max-width: 700px; display: block; margin: auto; margin-bottom: 8px; margin-top: 8px;&#34;&gt;&#xA;  &#xA;&lt;/a&gt;&#xA;&lt;p&gt;&#xA;&lt;a href=&#34;https://bastianolea.github.io/violaciones_ddhh_chile/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Infografía&lt;/a&gt; que recopila visualizaciones de datos acerca de los crímenes de lesa humanidad cometidos por el régimen dictatorial en Chile, entre entre 1973 y 1989.&lt;/p&gt;&#xA;&#xA;&#xA;&#xA;&#xA;&lt;div class = &#34;db pt1&#34;&#xA;style = &#34;margin-bottom: 34px;&#34;&gt;&#xA;&#xA;&lt;a class = &#34;btn-links mr2 ba dib&#34;&#xA;href = &#34;https://bastianolea.github.io/violaciones_ddhh_chile/&#34; target=&#34;_blank&#34;&#xA;style = &#34;padding: 12px; padding-bottom: 8px; border-radius: 5px; padding-right: 18px; text-decoration: none; border: 1px solid; color: #EAD2FA; background-color: #9069C0; margin-bottom: -12px;&#34;&gt;&#xA;&lt;i class=&#34;fas fa-link fa-lg fa-fw mr2&#34; style=&#34;color: #EAD2FA;&#34;&gt;&lt;/i&gt;&#xA;Entrar a la infografía&lt;/a&gt;&#xA;&#xA;&lt;/div&gt;&#xA;&lt;p&gt;El objetivo es poder compartir información de forma pedagógica y clara, para que las nuevas generaciones puedan comprender la magnitud de las violaciones a los derechos humanos cometidas en ese período, y así contribuir a la memoria histórica del país.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Generando ruido visual con R</title>
      <link>https://bastianolea.rbind.io/blog/2025-08-27/</link>
      <pubDate>Wed, 27 Aug 2025 00:00:00 +0000</pubDate>
      <guid>https://bastianolea.rbind.io/blog/2025-08-27/</guid>
      <description>&lt;p&gt;El otro día tuve que usar R para generar comandos muy largos (para automatizar el convertir cientos de reportes &lt;code&gt;html&lt;/code&gt; a &lt;code&gt;pdf&lt;/code&gt; usando un navegador web), y el código resultante fue eterno. Al pegarlo en la consola se produjo un aluvión de texto:&lt;/p&gt;&#xA;&lt;div style=&#34;margin:auto; max-width:70%;&#34;&gt;&#xA;  &#xA;  &lt;video src=&#34;videos/comando_eterno.mp4&#34; style=&#34;border-radius:7px; max-width: 100%; display: block; margin: auto;&#34; autoplay loop&gt;&#xA;  &lt;/video&gt;&#xA;&lt;/div&gt;&#xA;&#xA;&lt;p&gt;Entre el océano de texto y código aparecen algunas figuras diagonales con cierta regularidad. Es un fenómeno que me había pasado antes, y que siempre llamó mi atención.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Tipografías personalizadas en gráficos {ggplot2}</title>
      <link>https://bastianolea.rbind.io/blog/ggplot_tipografias/</link>
      <pubDate>Tue, 26 Aug 2025 00:00:00 +0000</pubDate>
      <guid>https://bastianolea.rbind.io/blog/ggplot_tipografias/</guid>
      <description>&lt;p&gt;¿Quieres darle un toque personalizado a tus gráficos? O tal vez alinearlos mejor al mensaje que quieres entregar, o a los lineamientos estéticos de tu organización. En esta breve guía te explico cómo cambiar las tipografías, tipos de letra o fuentes de tus gráficos hechos en R &#xA;&lt;a href=&#34;../../../tags/ggplot2/&#34;&gt;con &lt;code&gt;{ggplot2}&lt;/code&gt;&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;a href=&#34;featured.png&#34; target=&#34;_blank&#34;&gt;&#xA;&#xA;  &lt;img src=&#34;featured.png&#34; style=&#34;border-radius: 5px; width: 80%; max-width: 700px; display: block; margin: auto; margin-bottom: 8px; margin-top: 8px;&#34;&gt;&#xA;  &#xA;&lt;/a&gt;&#xA;&lt;p&gt;Para demostrar, primero creemos datos ficticios siguiento distribuciones normales:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Clase magistral del Diplomado de Ciencia de Datos para Ciencias Sociales y Humanidades</title>
      <link>https://bastianolea.rbind.io/clases/taller_unam/</link>
      <pubDate>Fri, 22 Aug 2025 18:00:00 +0000</pubDate>
      <guid>https://bastianolea.rbind.io/clases/taller_unam/</guid>
      <description>&lt;p&gt;El viernes 22 de agosto tengo el honor de participar en las clases magistrales del Diplomado de Ciencia de Datos para Ciencias Sociales y Humanidades de la Facultad de Estudios Superiores Acatlán, Universidad Nacional Autónoma de México.&lt;/p&gt;&#xA;&lt;a href=&#34;unam_1.jpeg&#34; target=&#34;_blank&#34;&gt;&#xA;&#xA;  &lt;img src=&#34;unam_1.jpeg&#34; style=&#34;border-radius: 5px; width: 80%; max-width: 700px; display: block; margin: auto; margin-bottom: 8px; margin-top: 8px;&#34;&gt;&#xA;  &#xA;&lt;/a&gt;&#xA;&lt;p&gt;Será un espacio para aplicar conocimientos de la mano de voces expertas y de jóvenes promesas de la Ciencia de Datos y la Inteligencia Artificial en español.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Convertir zonas horarias con R</title>
      <link>https://bastianolea.rbind.io/blog/2025-08-22/</link>
      <pubDate>Fri, 22 Aug 2025 00:00:00 +0000</pubDate>
      <guid>https://bastianolea.rbind.io/blog/2025-08-22/</guid>
      <description>&lt;p&gt;Si necesitas saber a qué hora es un evento que ocurre en otro país, puedes usar &lt;code&gt;{lubridate}&lt;/code&gt; para convertir las zonas horarias:&lt;/p&gt;&#xA;&lt;p&gt;Primero definimos la fecha del evento, la zona horaria del evento y tu zona horaria:&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-r&#34; data-lang=&#34;r&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;fecha_evento&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;&amp;lt;-&lt;/span&gt; &lt;span class=&#34;s&#34;&gt;&amp;#34;2025-08-22 18:00:00&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;zona_horaria_evento&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;&amp;lt;-&lt;/span&gt; &lt;span class=&#34;s&#34;&gt;&amp;#34;Mexico/General&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;zona_horaria_local&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;&amp;lt;-&lt;/span&gt; &lt;span class=&#34;s&#34;&gt;&amp;#34;Chile/Continental&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Si no sabes cuál es tu zona horaria, &#xA;&lt;a href=&#34;https://en.wikipedia.org/wiki/List_of_tz_database_time_zones&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;en esta tabla&lt;/a&gt; hay una lista de identificadores de zona horaria (&lt;code&gt;TZ Identifier&lt;/code&gt;).&lt;/p&gt;&#xA;&lt;p&gt;Luego usamos &lt;code&gt;{lubridate}&lt;/code&gt; para convertir la fecha/hora en al zona horaria de tu interés:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Unir o cruzar datos con left_join()</title>
      <link>https://bastianolea.rbind.io/blog/left_join/</link>
      <pubDate>Sat, 16 Aug 2025 00:00:00 +0000</pubDate>
      <guid>https://bastianolea.rbind.io/blog/left_join/</guid>
      <description>&lt;p&gt;El &lt;em&gt;left join&lt;/em&gt; es una de las operaciones básicas del trabajo con datos, en el sentido de que realiza una operación sencilla que a la vez es muy útil. Sirve tanto para limpiar datos como para procesarlos y obtener nuevas relaciones entre ellos.&lt;/p&gt;&#xA;&lt;p&gt;Un &lt;em&gt;left join&lt;/em&gt; realiza una unión o combinación entre dos tablas de datos a partir de una variable en común o &lt;em&gt;clave&lt;/em&gt; (&lt;em&gt;key&lt;/em&gt;). En otras palabras, un &lt;em&gt;left join&lt;/em&gt; toma dos tablas que tienen datos distintos, pero que comparten una variable o columna en común, y usa esta variable en común para &lt;strong&gt;unir las observaciones de ambas tablas&lt;/strong&gt;.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Crea planillas de Excel con formato personalizado desde R con {openxlsx}</title>
      <link>https://bastianolea.rbind.io/blog/excel_openxlsx/</link>
      <pubDate>Fri, 08 Aug 2025 00:00:00 +0000</pubDate>
      <guid>https://bastianolea.rbind.io/blog/excel_openxlsx/</guid>
      <description>&lt;p&gt;Al terminar el procesamiento o limpieza de un conjunto de datos, usualmente necesitamos &lt;em&gt;entregar&lt;/em&gt; la base en un formato más amigable para otros colegas o usuarios/as, lo que significa: Excel. Exportar datos de R a Excel es fácil: con la función &lt;code&gt;writexl::write_xlsx()&lt;/code&gt; podemos guardar cualquier dataframe en Excel. Pero esta función hace sólo eso, y el archivo resultante es básico y hasta feo.&lt;/p&gt;&#xA;&lt;p&gt;Sin embargo, existe el &#xA;&lt;a href=&#34;https://ycphs.github.io/openxlsx/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;paquete &lt;code&gt;{openxlsx}&lt;/code&gt;&lt;/a&gt;, que además de leer y escribir archivos Excel, nos entrega funciones para generar archivos Excel desde R que contengan &lt;strong&gt;todo tipo de formato, estilo de tablas, y manipulación celda por celda&lt;/strong&gt; del archivo resultante, con lo que podemos &lt;strong&gt;generar planillas de Excel atractivas desde R.&lt;/strong&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Echa un vistazo preliminar a tus datos con {visdat}</title>
      <link>https://bastianolea.rbind.io/blog/visdat/</link>
      <pubDate>Fri, 08 Aug 2025 00:00:00 +0000</pubDate>
      <guid>https://bastianolea.rbind.io/blog/visdat/</guid>
      <description>&lt;p&gt;En una clase reciente me preguntaron &#xA;&lt;a href=&#34;../../../blog/2025-10-21/&#34;&gt;cómo saber de una dónde hay datos perdidos o &lt;em&gt;missing&lt;/em&gt;&lt;/a&gt; en un conjunto de datos. La respuesta que di fue usar &lt;code&gt;summarize()&lt;/code&gt; para contar la cantidad de datos perdidos en todas las columnas de un dataframe:&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-r&#34; data-lang=&#34;r&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nf&#34;&gt;library&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;dplyr&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt; &lt;span class=&#34;c1&#34;&gt;# manipulación de datos&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nf&#34;&gt;library&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;messy&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt; &lt;span class=&#34;c1&#34;&gt;# ensuciar datos&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# agregar datos perdidos al azar&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;iris_m&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;&amp;lt;-&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;iris&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;|&amp;gt;&lt;/span&gt; &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;n&#34;&gt;messy&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;::&lt;/span&gt;&lt;span class=&#34;nf&#34;&gt;make_missing&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;cols&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;nf&#34;&gt;names&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;iris&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;))&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;iris_m&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;|&amp;gt;&lt;/span&gt; &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;c1&#34;&gt;# resumir los datos&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;nf&#34;&gt;summarize&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;c1&#34;&gt;# en todas las columnas&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;nf&#34;&gt;across&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nf&#34;&gt;everything&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(),&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;           &lt;span class=&#34;c1&#34;&gt;# contar la cantidad de missing&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;           &lt;span class=&#34;o&#34;&gt;~&lt;/span&gt;&lt;span class=&#34;nf&#34;&gt;sum&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nf&#34;&gt;is.na&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;.x&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;))&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;           &lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;  Sepal.Length Sepal.Width Petal.Length Petal.Width Species&#xA;1           12          21           16          21      11&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;p&gt;Pero hay formas más convenientes de hacerlo!&lt;/p&gt;</description>
    </item>
    <item>
      <title>Validación básica de datos con R</title>
      <link>https://bastianolea.rbind.io/blog/validacion_basica/</link>
      <pubDate>Thu, 07 Aug 2025 00:00:00 +0000</pubDate>
      <guid>https://bastianolea.rbind.io/blog/validacion_basica/</guid>
      <description>&lt;div style = &#34;margin-left: -16px;&#34;&gt;&#xA;  &#xA;  &lt;details closed id=&#34;PageTableOfContents&#34;&gt;&#xA;    &lt;summary&gt;&#xA;      &lt;h2 class=&#34;mv0 f5 fw7 ttu tracked dib&#34; style = &#34;margin-left: 6px; font-size: 120%;&#34;&gt;Índice&lt;/h2&gt;&#xA;      &lt;/summary&gt;&#xA;    &lt;div class=&#34;pl2 pr0 mh0&#34; style = &#34;font-size: 90%; margin-top: -8px; margin-left: 16px; margin-bottom: 32px;&#34;&gt;&#xA;    &lt;nav id=&#34;TableOfContents&#34;&gt;&#xA;  &lt;ul&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;#validación-básica&#34;&gt;Validación básica&lt;/a&gt;&lt;/li&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;#funciones-de-validación&#34;&gt;Funciones de validación&lt;/a&gt;&lt;/li&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;#validación-avanzada&#34;&gt;Validación avanzada&lt;/a&gt;&lt;/li&gt;&#xA;  &lt;/ul&gt;&#xA;&lt;/nav&gt;&#xA;    &lt;/div&gt;&#xA;  &lt;/details&gt;&#xA;  &#xA;&lt;/div&gt;&#xA;&lt;p&gt;Si estás procesando muchos datos y/o datos que vienen de distintas fuentes con R, validarlos puede ayudarte a encontrar problemas antes de que sea tarde! 😱&lt;/p&gt;&#xA;&lt;p&gt;¿Qué es la validación de datos? Son las distintas pruebas que crearemos para &lt;strong&gt;confirmar que nuestros datos cumplen ciertos criterios&lt;/strong&gt;. El objetivo es entregarnos la &lt;strong&gt;certeza&lt;/strong&gt; de que nuestros datos son como esperamos luego de procesarlos. Para lograrlo, ponemos a prueba nuestros datos en distintos puntos de nuestros procesos de análisis de datos.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Gráfico de mis artistas y géneros musicales más escuchados según Last.fm</title>
      <link>https://bastianolea.rbind.io/blog/2025-07-28/</link>
      <pubDate>Wed, 30 Jul 2025 00:00:00 +0000</pubDate>
      <guid>https://bastianolea.rbind.io/blog/2025-07-28/</guid>
      <description>&lt;a href=&#34;camcorder4.webp&#34; target=&#34;_blank&#34;&gt;&#xA;&#xA;  &lt;img src=&#34;camcorder4.webp&#34; style=&#34;border-radius: 5px; width: 80%; max-width: 700px; display: block; margin: auto; margin-bottom: 8px; margin-top: 8px;&#34;&gt;&#xA;  &#xA;&lt;/a&gt;&#xA;&lt;p&gt;&#xA;&lt;a href=&#34;https://www.last.fm&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Last.fm&lt;/a&gt; es una plataforma donde las personas van registrando la música que escuchan diariamente, y luego pueden obtener estadísticas sobre sus gustos musicales y recomendaciones basadas en los gustos de usuarios similares.&lt;/p&gt;&#xA;&lt;p&gt;Tenía ganas de reproducir en R uno de los gráficos que aparecen en el reporte mensual:&lt;/p&gt;&#xA;&lt;a href=&#34;inspo.png&#34; target=&#34;_blank&#34;&gt;&#xA;&#xA;  &lt;img src=&#34;inspo.png&#34; style=&#34;border-radius: 5px; width: 80%; max-width: 700px; display: block; margin: auto; margin-bottom: 8px; margin-top: 8px;&#34;&gt;&#xA;  &#xA;&lt;/a&gt;&#xA;&lt;p&gt;Así que me apliqué con &lt;code&gt;{ggplot2}&lt;/code&gt;, usando un paquete que agrega una visualización similar, y usando otro paquete para descargar los datos de mi perfil de Last.fm.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Descargar todos los archivos de la página web del Censo 2024 con `{rvest}`</title>
      <link>https://bastianolea.rbind.io/blog/2025-07-27/</link>
      <pubDate>Sun, 27 Jul 2025 00:00:00 +0000</pubDate>
      <guid>https://bastianolea.rbind.io/blog/2025-07-27/</guid>
      <description>&lt;p&gt;Veamos un mini ejemplo de automatización de tareas con R: los resultados del Censo 2024 vienen en 20 archivos, en 20 enlaces distintos!&lt;/p&gt;&#xA;&lt;p&gt;¿El problema? para obtenerlos, tendríamos que entrar al sitio con el navegador, ir al enlace de descargas, bajar cada uno de los 20 archivos manualmente, y guardarlos en una carpeta para poder usarlos.&lt;/p&gt;&#xA;&lt;p&gt;En un script de R, con &lt;code&gt;{rvest}&lt;/code&gt; extraemos todos los enlaces del sitio, y con &lt;code&gt;{purrr}&lt;/code&gt; descargamos todos los archivos de una 🚀&lt;/p&gt;</description>
    </item>
    <item>
      <title>Taller Medición y Análisis de la Corrupción en Chile desde el Análisis de Datos y Herramientas Abiertas</title>
      <link>https://bastianolea.rbind.io/clases/taller_corrupcion_cesi/</link>
      <pubDate>Wed, 23 Jul 2025 00:00:00 +0000</pubDate>
      <guid>https://bastianolea.rbind.io/clases/taller_corrupcion_cesi/</guid>
      <description>&lt;p&gt;Taller online que impartí para el &lt;em&gt;Congreso Estudiantil de Sociología Interdisciplinaria.&lt;/em&gt; En este taller introduje a estudiantes de sociología al lenguaje de programación R, explicando los beneficios del análisis de datos desarrollado en flujos de trabajo basados en la programación, y las posibilidades que se abren para producir estudios y obtener resultados usando código. Puse énfasis en el uso de tecnologías y datos abiertos, y en el principal beneficio de la programación (en mi opinión): el poder actualizar resultados, aplicaciones y visualizaciones automáticamente.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Video: Taller Medición y Análisis de la Corrupción en Chile desde el Análisis de Datos y Herramientas Abiertas</title>
      <link>https://bastianolea.rbind.io/blog/taller_corrupcion_cesi/</link>
      <pubDate>Wed, 23 Jul 2025 00:00:00 +0000</pubDate>
      <guid>https://bastianolea.rbind.io/blog/taller_corrupcion_cesi/</guid>
      <description>&lt;p&gt;Taller online que impartí para el &lt;em&gt;Congreso Estudiantil de Sociología Interdisciplinaria.&lt;/em&gt; En este taller introduje a estudiantes de sociología al lenguaje de programación R, explicando los beneficios del análisis de datos desarrollado en flujos de trabajo basados en la programación, y las posibilidades que se abren para producir estudios y obtener resultados usando código. Puse énfasis en el uso de tecnologías y datos abiertos, y en el principal beneficio de la programación (en mi opinión): el poder actualizar resultados, aplicaciones y visualizaciones automáticamente.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Introducción al Análisis de Datos con R para principiantes, 2ª versión</title>
      <link>https://bastianolea.rbind.io/clases/spatiallab_introduccion_r_2/</link>
      <pubDate>Tue, 22 Jul 2025 19:00:00 +0000</pubDate>
      <guid>https://bastianolea.rbind.io/clases/spatiallab_introduccion_r_2/</guid>
      <description>&lt;p&gt;&#xA;&lt;a href=&#34;https://spatiallab.cl/2da-version-curso-introduccion-al-analisis-de-datos-con-r-para-principiantes?variant_id=109682227&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;&lt;strong&gt;¡Inscripciones abiertas!&lt;/strong&gt;&lt;/a&gt;&lt;/p&gt;&#xA;&lt;a href=&#34;https://spatiallab.cl/2da-version-curso-introduccion-al-analisis-de-datos-con-r-para-principiantes?variant_id=109682227&#34;&gt;&#xA;&lt;a href=&#34;curso_introduccion_r_1_featured.jpeg&#34; target=&#34;_blank&#34;&gt;&#xA;&#xA;  &lt;img src=&#34;curso_introduccion_r_1_featured.jpeg&#34; style=&#34;border-radius: 5px; width: 80%; max-width: 700px; display: block; margin: auto; margin-bottom: 8px; margin-top: 8px;&#34;&gt;&#xA;  &#xA;&lt;/a&gt;&#xA;&lt;/a&gt;&#xA;&#xA;&#xA;&#xA;&#xA;&lt;h4 id=&#34;quieres-iniciarte-en-el-mundo-del-análisis-de-datos&#34;&gt;¿Quieres iniciarte en el mundo del análisis de datos?&#xA;  &lt;a href=&#34;#quieres-iniciarte-en-el-mundo-del-an%c3%a1lisis-de-datos&#34;&gt;&lt;/a&gt;&#xA;&lt;/h4&gt;&#xA;&lt;p&gt;Impartiré una nueva versión del curso &amp;ldquo;Introducción al Análisis de Datos con R para principiantes”, con el que puedes aprender desde cero a manipular, explorar y visualizar datos con el lenguaje R.&lt;/p&gt;&#xA;&lt;p&gt;Si no tienes experiencia programando ni analizando datos, o si ya tienes experiencia pero quieres fortalecer tus habilidades y potenciarlas, ¡este curso es para ti! Puedes elegir los niveles que necesites para adaptar el curso a tus necesidades.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Web scraping usando Google Chrome desde R con `{chromote}`</title>
      <link>https://bastianolea.rbind.io/blog/webscraping_chromote/</link>
      <pubDate>Thu, 17 Jul 2025 00:00:00 +0000</pubDate>
      <guid>https://bastianolea.rbind.io/blog/webscraping_chromote/</guid>
      <description>&lt;p&gt;En este blog ya hemos cubierto un par de herramientas de &#xA;&lt;a href=&#34;../../../tags/web-scraping/&#34;&gt;web scraping&lt;/a&gt;, cada una con sus características y beneficios: &#xA;&lt;a href=&#34;../../../blog/webscraping_rvest/&#34;&gt;&lt;code&gt;{rvest}&lt;/code&gt;&lt;/a&gt;, un paquete fácil y rápido de usar para extraer datos desde sitios webs comunes, y &#xA;&lt;a href=&#34;../../../blog/webscraping_selenium/&#34;&gt;&lt;code&gt;{RSelenium}&lt;/code&gt;&lt;/a&gt;, una interfaz en R para utilizar un software de automatización de navegadores bastante popular, aunque un poco menos amigable.&lt;/p&gt;&#xA;&lt;p&gt;Ahora veremos cómo extraer datos desde páginas web usando un paquete de R que, a grandes rasgos, hace web scraping controlando Google Chrome.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Extrae datos desde páginas de internet controlando un navegador web con `{RSelenium}` en R</title>
      <link>https://bastianolea.rbind.io/blog/webscraping_selenium/</link>
      <pubDate>Tue, 15 Jul 2025 00:00:00 +0000</pubDate>
      <guid>https://bastianolea.rbind.io/blog/webscraping_selenium/</guid>
      <description>&lt;p&gt;Selenium es un programa para automatizar y controlar navegadores web, lo que lo vuelve en una buena herramienta para realizar &lt;strong&gt;&#xA;&lt;a href=&#34;../../../tags/web-scraping/&#34;&gt;web scraping&lt;/a&gt;&lt;/strong&gt;. El &#xA;&lt;a href=&#34;https://docs.ropensci.org/RSelenium/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;paquete de R &lt;code&gt;{RSelenium}&lt;/code&gt;&lt;/a&gt; nos permitirá controlar un navegador por medio de código de R, lo cual abre infinitas posibilidades al momento de automatizar la obtención de datos e información desde sitios web dinámicos y/o complejos.&lt;/p&gt;&#xA;&lt;p&gt;En este tutorial aprenderemos a usar &lt;code&gt;{RSelenium}&lt;/code&gt; para programar scripts de R que automaticen el control de un navegador para interactuar con sitios web y así scrapear datos más difíciles de obtener.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Generar múltiples gráficos automáticamente con R</title>
      <link>https://bastianolea.rbind.io/blog/ggplot_purrr/</link>
      <pubDate>Mon, 14 Jul 2025 00:00:00 +0000</pubDate>
      <guid>https://bastianolea.rbind.io/blog/ggplot_purrr/</guid>
      <description>&lt;p&gt;Uno de los principales beneficios del análisis de datos en base a programación es que &lt;strong&gt;el código es reutilizable.&lt;/strong&gt; Esto significa que cualquier cosa que hayas hecho puedes &lt;strong&gt;reutilizarla&lt;/strong&gt;, y así ahorrar trabajo. El siguiente paso es reutilizar el código de tal forma que sirva para aplicarlo a varios casos a la vez, incluso cientos o miles de veces.&lt;/p&gt;&#xA;&lt;p&gt;La reutilización de código es súper conveniente para la visualización de datos: una vez que diseñaste un gráfico, con muy pocas modificaciones puedes adaptarlo para que funcione con una fuente de datos distintas, una fuente actualizada, o para que visualice distintas variables.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Gráfico de densidad tipo Joy Division en {ggplot2}</title>
      <link>https://bastianolea.rbind.io/blog/2025-07-11/</link>
      <pubDate>Sat, 12 Jul 2025 00:00:00 +0000</pubDate>
      <guid>https://bastianolea.rbind.io/blog/2025-07-11/</guid>
      <description>&lt;p&gt;Existe un gráfico estadístico muy famoso por haber aparecido en la portada del disco &lt;em&gt;Unknown Pleasures&lt;/em&gt; de Joy Division:&lt;/p&gt;&#xA;&lt;a href=&#34;joy_division.jpg&#34; target=&#34;_blank&#34;&gt;&#xA;&#xA;  &lt;img src=&#34;joy_division.jpg&#34; style=&#34;border-radius: 5px; width: 80%; max-width: 700px; display: block; margin: auto; margin-bottom: 8px; margin-top: 8px;&#34;&gt;&#xA;  &#xA;&lt;/a&gt;&#xA;&lt;p&gt;Se trata de un gráfico de densidad, donde las densidades están apiladas verticalmente y se sobreponen, dando una apariencia montañosa, cordillerana y casi tridimensional.&lt;/p&gt;&#xA;&lt;p&gt;En este post reproduciremos este gráfico en R, pero usando datos socioeconómicos de la &#xA;&lt;a href=&#34;https://observatorio.ministeriodesarrollosocial.gob.cl/encuesta-casen-2022&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Encuesta de caracterización socioeconómica nacional (Casen) 2022.&lt;/a&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Etiquetas de texto que se repelen entre sí con {ggrepel}</title>
      <link>https://bastianolea.rbind.io/blog/ggrepel/</link>
      <pubDate>Fri, 11 Jul 2025 00:00:00 +0000</pubDate>
      <guid>https://bastianolea.rbind.io/blog/ggrepel/</guid>
      <description>&lt;link href=&#34;index_files/libs/htmltools-fill-0.5.8.1/fill.css&#34; rel=&#34;stylesheet&#34; /&gt;&#xA;&lt;script src=&#34;index_files/libs/htmlwidgets-1.6.4/htmlwidgets.js&#34;&gt;&lt;/script&gt;&#xA;&lt;script src=&#34;index_files/libs/d3-bundle-5.16.0/d3-bundle.min.js&#34;&gt;&lt;/script&gt;&#xA;&lt;script src=&#34;index_files/libs/d3-lasso-0.0.5/d3-lasso.min.js&#34;&gt;&lt;/script&gt;&#xA;&lt;script src=&#34;index_files/libs/save-svg-as-png-1.4.17/save-svg-as-png.min.js&#34;&gt;&lt;/script&gt;&#xA;&lt;script src=&#34;index_files/libs/flatbush-4.4.0/flatbush.min.js&#34;&gt;&lt;/script&gt;&#xA;&lt;link href=&#34;index_files/libs/ggiraphjs-0.8.10/ggiraphjs.min.css&#34; rel=&#34;stylesheet&#34; /&gt;&#xA;&lt;script src=&#34;index_files/libs/ggiraphjs-0.8.10/ggiraphjs.min.js&#34;&gt;&lt;/script&gt;&#xA;&lt;script src=&#34;index_files/libs/girafe-binding-0.8.10/girafe.js&#34;&gt;&lt;/script&gt;&#xA;&lt;p&gt;En este post veremos a agregar &lt;strong&gt;textos que se distancian entre sí automáticamente&lt;/strong&gt; a tus gráficos. Esto sirve, por ejemplo, para mejorar visualizaciones de datos a las que queremos agregarle texto que identifique las observaciones, aún cuando las observaciones son demasiadas como para etiquetarlas a todas.&lt;/p&gt;&#xA;&lt;p&gt;Usaremos el &#xA;&lt;a href=&#34;https://ggrepel.slowkow.com&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;paquete de R &lt;code&gt;{ggrepel}&lt;/code&gt;&lt;/a&gt; para etiquetar puntos en un gráfico con textos que se repelen entre sí de forma automática.&lt;/p&gt;&#xA;&#xA;&#xA;&lt;div style=&#34;display: flex; align-items: center; gap: 15px; padding: 14px; &#xA;            background-color: #493365;&#xA;            border-radius: 6px;&#xA;            margin: 20px 40px 20px 40px;&#34;&gt;&#xA;  &#xA;  &lt;div style=&#34;flex-shrink: 0;&#34;&gt;&#xA;    &lt;i class=&#34;fas fa-triangle-exclamation&#34; style=&#34;font-size: 130%; margin-left: 2px; opacity: 1; color: #EAD2FA;&#34;&gt;&lt;/i&gt;&#xA;  &lt;/div&gt;&#xA;  &#xA;  &lt;aside style = &#34;font-size: 90%; color: #EAD2FA;&#34;&gt;&#xA;    Este post requiere conocimientos de &lt;code&gt;{ggplot2}&lt;/code&gt;. Si quieres aprender a hacer gráficos en R, revisa &#xA;&lt;a href=&#34;https://bastianolea.rbind.io/blog/r_introduccion/tutorial_visualizacion_ggplot/&#34;&gt;este tutorial sobre visualización de datos&lt;/a&gt; primero.&#xA;  &lt;/aside&gt;&#xA;  &#xA;&lt;/div&gt;&#xA;&#xA;&#xA;&#xA;&#xA;&lt;h3 id=&#34;datos&#34;&gt;Datos&#xA;  &lt;a href=&#34;#datos&#34;&gt;&lt;svg class=&#34;anchor-symbol&#34; aria-hidden=&#34;true&#34; height=&#34;26&#34; width=&#34;26&#34; viewBox=&#34;0 0 22 22&#34; xmlns=&#34;http://www.w3.org/2000/svg&#34;&gt;&#xA;      &lt;path d=&#34;M0 0h24v24H0z&#34; fill=&#34;currentColor&#34;&gt;&lt;/path&gt;&#xA;      &lt;path d=&#34;M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76.0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71.0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71.0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76.0 5-2.24 5-5s-2.24-5-5-5z&#34;&gt;&lt;/path&gt;&#xA;    &lt;/svg&gt;&lt;/a&gt;&#xA;&lt;/h3&gt;&#xA;&lt;p&gt;A modo de ejemplo, usaremos datos del &#xA;&lt;a href=&#34;https://www.bcn.cl/procesoconstituyente/plebiscito2020&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;plebiscito de entrada de 2020 en Chile&lt;/a&gt;, obtenidos desde el &#xA;&lt;a href=&#34;https://github.com/bastianolea/plebiscitos_chile&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;repositorio de datos sobre los plebiscitos constitucionales&lt;/a&gt;. Éste repositorio, parte de mi &#xA;&lt;a href=&#34;https://bastianolea.github.io/datos_sociales/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;mini sitio de datos sociales chilenos&lt;/a&gt;, ofrece versiones limpias y listas para usar de los resultados electorales de estos procesos.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Análisis y visualización de correlaciones en R</title>
      <link>https://bastianolea.rbind.io/blog/correlaciones/</link>
      <pubDate>Wed, 09 Jul 2025 00:00:00 +0000</pubDate>
      <guid>https://bastianolea.rbind.io/blog/correlaciones/</guid>
      <description>&lt;p&gt;El análisis de correlación es una técnica estadística que nos permite &lt;strong&gt;identificar si existen relaciones lineales entre distintas variables.&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;p&gt;Lo que hace una correlación es indicarnos si dos variables tienen una relación entre sí, en el sentido de que el aumento o disminución de una de las variables ocurra en concordancia con la otra variable, ya sea una &lt;strong&gt;correlación positiva&lt;/strong&gt; (si una variable aumenta, la otra también) o &lt;strong&gt;correlación negativa&lt;/strong&gt; (si una variable aumenta, la otra disminuye).&lt;/p&gt;</description>
    </item>
    <item>
      <title>Controla las dimensiones de tus gráficos con {ggview}</title>
      <link>https://bastianolea.rbind.io/blog/ggview/</link>
      <pubDate>Tue, 08 Jul 2025 00:00:00 +0000</pubDate>
      <guid>https://bastianolea.rbind.io/blog/ggview/</guid>
      <description>&lt;p&gt;&#xA;&lt;a href=&#34;https://github.com/idmn/ggview&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;&lt;code&gt;{ggview}&lt;/code&gt;&lt;/a&gt; es un paquete de R que te ayuda a crear gráficos en &lt;code&gt;{ggplot2}&lt;/code&gt; manteniendo un tamaño fijo.&lt;/p&gt;&#xA;&lt;p&gt;En RStudio, los gráficos que aparecen en el panel de gráficos (&lt;em&gt;Plots&lt;/em&gt;) se adaptan al tamaño de dicho panel. Por ejemplo, si tu panel es chico, el gráfico no tendría espacio para verse bien:&lt;/p&gt;&#xA;&lt;a href=&#34;grafico_chico.png&#34; target=&#34;_blank&#34;&gt;&#xA;&#xA;  &lt;img src=&#34;grafico_chico.png&#34; style=&#34;border-radius: 5px; width: 80%; max-width: 700px; display: block; margin: auto; margin-bottom: 8px; margin-top: 8px;&#34;&gt;&#xA;  &#xA;&lt;/a&gt;&#xA;&lt;p&gt;Pero si amplías el tamaño del panel lo suficiente, el gráfico se verá mejor:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Reduce el tamaño de tus reportes Quarto con este truco</title>
      <link>https://bastianolea.rbind.io/blog/2025-07-08/</link>
      <pubDate>Tue, 08 Jul 2025 00:00:00 +0000</pubDate>
      <guid>https://bastianolea.rbind.io/blog/2025-07-08/</guid>
      <description>&lt;p&gt;Consejo: si tus &#xA;&lt;a href=&#34;https://bastianolea.rbind.io/blog/quarto_reportes/&#34;&gt;documentos Quarto&lt;/a&gt; salen pesados por tener muchos gráficos, intenta cambiar en el &lt;code&gt;YAML&lt;/code&gt; el siguiente argumento para que los gráficos incluidos vayan en formato &lt;code&gt;.jpg&lt;/code&gt; en vez de &lt;code&gt;.png&lt;/code&gt; (por defecto).&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-yaml&#34; data-lang=&#34;yaml&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nt&#34;&gt;fig-format&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;jpeg&amp;#34;&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div style=&#34;max-width:390px; margin:auto&#34;&gt;&#xA;&lt;a href=&#34;quarto_yaml-featured.png&#34; target=&#34;_blank&#34;&gt;&#xA;&#xA;  &lt;img src=&#34;quarto_yaml-featured.png&#34; style=&#34;border-radius: 5px; width: 80%; max-width: 700px; display: block; margin: auto; margin-bottom: 8px; margin-top: 8px;&#34;&gt;&#xA;  &#xA;&lt;/a&gt;&#xA;&lt;/div&gt;&#xA;&lt;p&gt;Las imágenes &lt;code&gt;.jpg&lt;/code&gt; son más livianas, porque usan compresión, aunque pueden tener un poco menos de calidad y no tienen fondo transparente. Por otro lado, las imágenes &lt;code&gt;.png&lt;/code&gt; son &lt;em&gt;lossless&lt;/em&gt; (no tienen compresión ni pérdida de calidad) y transparencia, pero a cambio son más pesadas.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Visualizando texto como nubes de palabras en R</title>
      <link>https://bastianolea.rbind.io/blog/nubes_de_palabras/</link>
      <pubDate>Sat, 05 Jul 2025 00:00:00 +0000</pubDate>
      <guid>https://bastianolea.rbind.io/blog/nubes_de_palabras/</guid>
      <description>&lt;p&gt;Una de las formas más intuitivas de visualizar datos de texto son las nubes de palabras. En las nubes de palabras seleccionamos un subconjunto de las palabras del texto que queremos analizar y las distribuimos en un gráfico, donde las palabras que aparecen más frecuentemente aparecen más grandes, y usualmente al centro. Sirven para ver rápidamente los conceptos clave de un documento o un corpus de documentos.&lt;/p&gt;&#xA;&lt;p&gt;En este post veremos dos formas de crear nubes de palabras con R: con &lt;code&gt;{wordcloud2}&lt;/code&gt; y con &lt;code&gt;{ggplot2}&lt;/code&gt;. Para empezar, necesitamos una base de datos que tenga información de texto; por ejemplo, una base donde cada fila contenga una respuesta abierta de una encuesta, una reseña de un producto, un párrafo de un texto, un capítulo de un libro, o un libro completo.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Ordenar las comunas de Chile de norte a sur en R</title>
      <link>https://bastianolea.rbind.io/blog/ordenar_comunas/</link>
      <pubDate>Wed, 25 Jun 2025 00:00:00 +0000</pubDate>
      <guid>https://bastianolea.rbind.io/blog/ordenar_comunas/</guid>
      <description>&lt;p&gt;Complementando el &#xA;&lt;a href=&#34;../../../blog/ordenar_regiones/&#34;&gt;post sobre ordenar regiones de Chile de norte a sur&lt;/a&gt;, en esta publicación veremos cómo ordenar las comunas del país de norte a sur. Esto puede servirnos para mostrar datos a nivel comunal de una gran cantidad de regiones de una manera más intuitiva, en los casos donde ordenarlas por orden alfabético no entrega mucha información, o cuando queramos mostrar en nuestras visualizaciones o tablas que el factor geográfico incide en el dato principal.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Gráficos para identificar datos outliers o anómalos en R</title>
      <link>https://bastianolea.rbind.io/blog/2025-06-18/</link>
      <pubDate>Wed, 18 Jun 2025 00:00:00 +0000</pubDate>
      <guid>https://bastianolea.rbind.io/blog/2025-06-18/</guid>
      <description>&lt;link href=&#34;index_files/libs/htmltools-fill-0.5.8.1/fill.css&#34; rel=&#34;stylesheet&#34; /&gt;&#xA;&lt;script src=&#34;index_files/libs/htmlwidgets-1.6.4/htmlwidgets.js&#34;&gt;&lt;/script&gt;&#xA;&lt;script src=&#34;index_files/libs/d3-bundle-5.16.0/d3-bundle.min.js&#34;&gt;&lt;/script&gt;&#xA;&lt;script src=&#34;index_files/libs/d3-lasso-0.0.5/d3-lasso.min.js&#34;&gt;&lt;/script&gt;&#xA;&lt;script src=&#34;index_files/libs/save-svg-as-png-1.4.17/save-svg-as-png.min.js&#34;&gt;&lt;/script&gt;&#xA;&lt;script src=&#34;index_files/libs/flatbush-4.4.0/flatbush.min.js&#34;&gt;&lt;/script&gt;&#xA;&lt;link href=&#34;index_files/libs/ggiraphjs-0.8.10/ggiraphjs.min.css&#34; rel=&#34;stylesheet&#34; /&gt;&#xA;&lt;script src=&#34;index_files/libs/ggiraphjs-0.8.10/ggiraphjs.min.js&#34;&gt;&lt;/script&gt;&#xA;&lt;script src=&#34;index_files/libs/girafe-binding-0.8.10/girafe.js&#34;&gt;&lt;/script&gt;&#xA;&lt;p&gt;Los datos anómalos o &lt;em&gt;outliers&lt;/em&gt; son datos que se alejan considerablemente de los demás. Estos datos pueden resultar problemáticos para ciertos análisis, pueden ser indicio de errores en la recolección o limpieza de datos, o pueden requerir que tomemos ciertas decisiones para corregirlos o excluirlos.&lt;/p&gt;&#xA;&lt;p&gt;En este post &lt;strong&gt;simularemos un dataset&lt;/strong&gt; con datos anómalos, y luego mostraremos algunas formas de &lt;strong&gt;visualización de datos anómalos&lt;/strong&gt; &#xA;&lt;a href=&#34;../../../tags/ggplot2/&#34;&gt;en &lt;code&gt;{ggplot2}&lt;/code&gt;&lt;/a&gt; para tomar decisiones al respecto. Al final crearemos un &lt;strong&gt;gráfico interactivo&lt;/strong&gt; &#xA;&lt;a href=&#34;https://davidgohel.github.io/ggiraph/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;con &lt;code&gt;{ggiraph}&lt;/code&gt;&lt;/a&gt; que permita poner el cursor sobre las observaciones para obtener más información.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Procesamiento de datos multiprocesador en R con {furrr}</title>
      <link>https://bastianolea.rbind.io/blog/furrr_multiprocesador/</link>
      <pubDate>Thu, 12 Jun 2025 00:00:00 +0000</pubDate>
      <guid>https://bastianolea.rbind.io/blog/furrr_multiprocesador/</guid>
      <description>&lt;p&gt;La mayoría de las funciones de R, así como R mismo, se ejecutan en un único proceso dentro de tu computadora, dado que R es un software de un sólo hilo (&lt;em&gt;single threaded&lt;/em&gt;).&lt;/p&gt;&#xA;&lt;p&gt;Los computadores modernos en general tienen entre 2 y 8 núcleos (&lt;em&gt;cores&lt;/em&gt;), algunos incluso muchos más. Una mayor cantidad de núcleos o procesadores permite a tu computadora hacer más &lt;strong&gt;operaciones paralelas&lt;/strong&gt;. Por ejemplo, si tu computador tiene 6 núcleos y R está procesando datos, R usará 1 núcleo al 100%, y te quedarán 5 núcleos en desuso, que podrían estar ejecutando otras tareas. En otras palabras, R está usando sólo el 100% de tu computador, cuando podría estar usando el 600%.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Feliz cumpleaños, {ggplot2}!</title>
      <link>https://bastianolea.rbind.io/blog/2025-06-11/</link>
      <pubDate>Wed, 11 Jun 2025 00:00:00 +0000</pubDate>
      <guid>https://bastianolea.rbind.io/blog/2025-06-11/</guid>
      <description>&lt;p&gt;Hoy está de cumpleaños el paquete &lt;code&gt;{ggplot2}&lt;/code&gt; para visualización de datos en R! Este paquete es indispensable para explorar el mundo de los datos, ya que su filosofía o gramática está muy bien lograda, y su flexibilidad posibilita crear casi lo que desees, siempre siguiendo principios firmemente sostenidos en un enfoque de ciencia de datos.&lt;/p&gt;&#xA;&lt;p&gt;Se trata de una herramienta que uso día a día, así que con mucho cariño (🤪) le hice un gráfico de mini celebración en 20 líneas 💜&lt;/p&gt;</description>
    </item>
    <item>
      <title>Sugerencias y autocompletado de código con GitHub Copilot</title>
      <link>https://bastianolea.rbind.io/blog/github_copilot/</link>
      <pubDate>Mon, 09 Jun 2025 00:00:00 +0000</pubDate>
      <guid>https://bastianolea.rbind.io/blog/github_copilot/</guid>
      <description>&lt;img src = brand-github-copilot.svg style = &#34;float: right; max-width: 128px; margin-left: 20px;&#34;&gt;&#xA;&lt;p&gt;Uno de beneficios concretos de los avances en inteligencia artificial generativa son las herramientas de autocompletado de código&lt;sup id=&#34;fnref:1&#34;&gt;&lt;a href=&#34;#fn:1&#34; class=&#34;footnote-ref&#34; role=&#34;doc-noteref&#34;&gt;1&lt;/a&gt;&lt;/sup&gt;. Una de estas herramientas es &#xA;&lt;a href=&#34;https://github.com/features/copilot&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;GitHub Copilot&lt;/a&gt;, la cual puede &lt;strong&gt;integrarse directamente en RStudio&lt;/strong&gt; para ayudarte a programar en R. En este post mostraré algunos casos de uso real donde Copilot me ha servido.&lt;/p&gt;&#xA;&#xA;&#xA;&#xA;&#xA;&lt;h3 id=&#34;para-qué-sirve&#34;&gt;¿Para qué sirve?&#xA;  &lt;a href=&#34;#para-qu%c3%a9-sirve&#34;&gt;&lt;svg class=&#34;anchor-symbol&#34; aria-hidden=&#34;true&#34; height=&#34;26&#34; width=&#34;26&#34; viewBox=&#34;0 0 22 22&#34; xmlns=&#34;http://www.w3.org/2000/svg&#34;&gt;&#xA;      &lt;path d=&#34;M0 0h24v24H0z&#34; fill=&#34;currentColor&#34;&gt;&lt;/path&gt;&#xA;      &lt;path d=&#34;M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76.0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71.0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71.0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76.0 5-2.24 5-5s-2.24-5-5-5z&#34;&gt;&lt;/path&gt;&#xA;    &lt;/svg&gt;&lt;/a&gt;&#xA;&lt;/h3&gt;&#xA;&lt;p&gt;&#xA;&lt;a href=&#34;https://github.com/features/copilot&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Copilot&lt;/a&gt; es un servicio de autocompletado de código que puede integrarse directamente en RStudio. Sirve para recibir sugerencias de código mientras programas, lo que puede ayudarte a &lt;strong&gt;escribir código más rápido&lt;/strong&gt;. Esta herramienta utiliza modelos de lenguaje entrenados con una gran cantidad de código fuente disponible públicamente, lo que le permite ofrecer sugerencias contextuales basadas en el código que ya has escrito.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Generar contenido en serie usando loops en un reporte Quarto</title>
      <link>https://bastianolea.rbind.io/blog/quarto_loop/</link>
      <pubDate>Sun, 08 Jun 2025 00:00:00 +0000</pubDate>
      <guid>https://bastianolea.rbind.io/blog/quarto_loop/</guid>
      <description>&lt;p&gt;Una de las gracias de generar documentos en Quarto es que podemos combinar la redacción con el código. Pero esto puede ir más allá que simplemente escribir un párrafo de texto y seguido de un párrafo de código. Podemos usar código para literalmente generar texto, títulos y más.&lt;/p&gt;&#xA;&lt;p&gt;En otros tutoriales vimos cómo podemos &#xA;&lt;a href=&#34;../../../blog/quarto_reportes/#c%c3%b3digo-entre-el-texto&#34;&gt;incluir resultados del código dentro de nuestros párrafos de texto&lt;/a&gt;, por ejemplo, para que una cifra que esté dentro de una oración venga directamente del resultado de un cálculo en vez de tener que escribirle de forma manual. Pero en esta guía vamos a ver cómo podemos programar la generación masiva de títulos, párrafos y gráficos en base a una &#xA;&lt;a href=&#34;../../../blog/r_introduccion/r_intermedio/#bucles&#34;&gt;iteración, bucle o &lt;em&gt;loop&lt;/em&gt;.&lt;/a&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Limpieza y recodificación de datos de texto en R con {stringr}</title>
      <link>https://bastianolea.rbind.io/blog/stringr_texto/</link>
      <pubDate>Sun, 08 Jun 2025 00:00:00 +0000</pubDate>
      <guid>https://bastianolea.rbind.io/blog/stringr_texto/</guid>
      <description>&lt;div style = &#34;margin-left: -16px;&#34;&gt;&#xA;  &#xA;  &lt;details closed id=&#34;PageTableOfContents&#34;&gt;&#xA;    &lt;summary&gt;&#xA;      &lt;h2 class=&#34;mv0 f5 fw7 ttu tracked dib&#34; style = &#34;margin-left: 6px; font-size: 120%;&#34;&gt;Índice&lt;/h2&gt;&#xA;      &lt;/summary&gt;&#xA;    &lt;div class=&#34;pl2 pr0 mh0&#34; style = &#34;font-size: 90%; margin-top: -8px; margin-left: 16px; margin-bottom: 32px;&#34;&gt;&#xA;    &lt;nav id=&#34;TableOfContents&#34;&gt;&#xA;  &lt;ul&gt;&#xA;    &lt;li&gt;&#xA;      &lt;ul&gt;&#xA;        &lt;li&gt;&lt;a href=&#34;#crear-variable-a-partir-de-la-detección-de-texto&#34;&gt;Crear variable a partir de la detección de texto&lt;/a&gt;&lt;/li&gt;&#xA;      &lt;/ul&gt;&#xA;    &lt;/li&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;#cambiar-la-capitalización-de-un-texto&#34;&gt;Cambiar la capitalización de un texto&lt;/a&gt;&lt;/li&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;#expresiones-regulares&#34;&gt;Expresiones regulares&lt;/a&gt;&#xA;      &lt;ul&gt;&#xA;        &lt;li&gt;&lt;a href=&#34;#extraer-caracteres-desde-un-texto&#34;&gt;Extraer caracteres desde un texto&lt;/a&gt;&lt;/li&gt;&#xA;      &lt;/ul&gt;&#xA;    &lt;/li&gt;&#xA;  &lt;/ul&gt;&#xA;&lt;/nav&gt;&#xA;    &lt;/div&gt;&#xA;  &lt;/details&gt;&#xA;  &#xA;&lt;/div&gt;&#xA;&lt;p&gt;&#xA;&lt;a href=&#34;https://stringr.tidyverse.org/index.html&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;El paquete &lt;code&gt;{stringr}&lt;/code&gt;&lt;/a&gt; facilita todo tipo de trabajo que implique texto en R.&lt;/p&gt;&#xA;&lt;p&gt;En general, los datos que vienen como texto suelen necesitar una limpieza previa, y adicionalmente un procesamiento para poder aprovecharlos mejor.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Copia y pega datos en R con {datapasta} y {clipr}</title>
      <link>https://bastianolea.rbind.io/blog/datapasta/</link>
      <pubDate>Fri, 06 Jun 2025 00:00:00 +0000</pubDate>
      <guid>https://bastianolea.rbind.io/blog/datapasta/</guid>
      <description>&lt;p&gt;&#xA;&lt;a href=&#34;https://github.com/MilesMcBain/datapasta&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;&lt;code&gt;{datapasta}&lt;/code&gt;&lt;/a&gt; es un paquete para R que te ayuda a copiar y pegar datos desde y hacia R.&lt;/p&gt;&#xA;&lt;p&gt;Instala &lt;code&gt;{datapasta}&lt;/code&gt; ejecutando el siguiente código:&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-r&#34; data-lang=&#34;r&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nf&#34;&gt;install.packages&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s&#34;&gt;&amp;#34;datapasta&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;repos&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;nf&#34;&gt;c&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;mm&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s&#34;&gt;&amp;#34;https://milesmcbain.r-universe.dev&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;nf&#34;&gt;getOption&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s&#34;&gt;&amp;#34;repos&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)))&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&#xA;&#xA;&#xA;&#xA;&lt;h2 id=&#34;copiar&#34;&gt;Copiar&#xA;  &lt;a href=&#34;#copiar&#34;&gt;&lt;svg class=&#34;anchor-symbol&#34; aria-hidden=&#34;true&#34; height=&#34;26&#34; width=&#34;26&#34; viewBox=&#34;0 0 22 22&#34; xmlns=&#34;http://www.w3.org/2000/svg&#34;&gt;&#xA;      &lt;path d=&#34;M0 0h24v24H0z&#34; fill=&#34;currentColor&#34;&gt;&lt;/path&gt;&#xA;      &lt;path d=&#34;M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76.0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71.0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71.0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76.0 5-2.24 5-5s-2.24-5-5-5z&#34;&gt;&lt;/path&gt;&#xA;    &lt;/svg&gt;&lt;/a&gt;&#xA;&lt;/h2&gt;&#xA;&lt;p&gt;&lt;code&gt;{datapasta}&lt;/code&gt; puede ayudarte a &lt;strong&gt;compartir fácilmente datos&lt;/strong&gt;, al convertir tus datos en texto que puedes copiar y pegar en otro lado, o editar manualmente. Usa la función &lt;code&gt;dpasta()&lt;/code&gt; sobre un dataframe para hacer que los datos aparezcan como en texto directamente debajo de donde la ejecutaste.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Ordenar las regiones de Chile de norte a sur en R</title>
      <link>https://bastianolea.rbind.io/blog/ordenar_regiones/</link>
      <pubDate>Fri, 06 Jun 2025 00:00:00 +0000</pubDate>
      <guid>https://bastianolea.rbind.io/blog/ordenar_regiones/</guid>
      <description>&lt;p&gt;La franja larga y angosta que es Chile tiene el beneficio de que sus regiones se ubican casi perfectamente una sobre la otra, de norte a sur. Este orgen geográfico natural de sus regiones resulta familiar para sus habitantes, por lo que se vuelve recomendable ordenar los datos a nivel regional siguiendo este orden geográfico.&lt;/p&gt;&#xA;&lt;p&gt;Creemos una tabla o &lt;em&gt;dataframe&lt;/em&gt; con las regiones de Chile. Ejecuta el siguiente código en R para obtener una tabla:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Automatiza la generación de reportes creando documentos parametrizados con Quarto y R</title>
      <link>https://bastianolea.rbind.io/blog/quarto_params/</link>
      <pubDate>Tue, 15 Apr 2025 00:00:00 +0000</pubDate>
      <guid>https://bastianolea.rbind.io/blog/quarto_params/</guid>
      <description>&lt;p&gt;En este tutorial aprenderemos a crear &#xA;&lt;a href=&#34;https://posit.co/blog/parameterized-quarto/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;reportes parametrizados&lt;/a&gt; con Quarto. Un reporte parametrizado es un reporte diseñado para que el contenido, incluyendo textos, gráficos y más, cambien al modificar una variable en su encabezado. En este sentido, por &lt;em&gt;parámetro&lt;/em&gt; nos referimos a un valor que podremos cambiar para alterar el resultado obtenido por un mismo reporte.&lt;/p&gt;&#xA;&lt;p&gt;De esta manera, podemos &lt;strong&gt;generar múltiples versiones de un mismo reporte simplemente cambiando el parámetro&lt;/strong&gt;, por ejemplo, para diseñar un reporte con datos para un país, en base a un conjuntos de datos de múltiples países, y luego obtener múltiples versiones del mismo reporte pero para distintos países. O generar un reporte con datos de un año específico, y luego generar versiones del mismo reporte para distintos años.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Tutorial: presenta los resultados de tus análisis de datos con R creando reportes y documentos Quarto</title>
      <link>https://bastianolea.rbind.io/blog/quarto_reportes/</link>
      <pubDate>Mon, 14 Apr 2025 00:00:00 +0000</pubDate>
      <guid>https://bastianolea.rbind.io/blog/quarto_reportes/</guid>
      <description>&lt;div style = &#34;margin-left: -16px;&#34;&gt;&#xA;  &#xA;  &lt;details closed id=&#34;PageTableOfContents&#34;&gt;&#xA;    &lt;summary&gt;&#xA;      &lt;h2 class=&#34;mv0 f5 fw7 ttu tracked dib&#34; style = &#34;margin-left: 6px; font-size: 120%;&#34;&gt;Índice&lt;/h2&gt;&#xA;      &lt;/summary&gt;&#xA;    &lt;div class=&#34;pl2 pr0 mh0&#34; style = &#34;font-size: 90%; margin-top: -8px; margin-left: 16px; margin-bottom: 32px;&#34;&gt;&#xA;    &lt;nav id=&#34;TableOfContents&#34;&gt;&#xA;  &lt;ul&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;#crear-un-reporte-quarto&#34;&gt;Crear un reporte Quarto&lt;/a&gt;&lt;/li&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;#markdown&#34;&gt;Markdown&lt;/a&gt;&#xA;      &lt;ul&gt;&#xA;        &lt;li&gt;&lt;a href=&#34;#otras-posibilidades&#34;&gt;Otras posibilidades&lt;/a&gt;&lt;/li&gt;&#xA;      &lt;/ul&gt;&#xA;    &lt;/li&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;#configuración-básica&#34;&gt;Configuración básica&lt;/a&gt;&#xA;      &lt;ul&gt;&#xA;        &lt;li&gt;&lt;a href=&#34;#títulos&#34;&gt;Títulos&lt;/a&gt;&lt;/li&gt;&#xA;        &lt;li&gt;&lt;a href=&#34;#índices-o-tablas-de-contenido&#34;&gt;Índices o tablas de contenido&lt;/a&gt;&lt;/li&gt;&#xA;        &lt;li&gt;&lt;a href=&#34;#títulos-con-numeración&#34;&gt;Títulos con numeración&lt;/a&gt;&lt;/li&gt;&#xA;        &lt;li&gt;&lt;a href=&#34;#temas&#34;&gt;Temas&lt;/a&gt;&lt;/li&gt;&#xA;        &lt;li&gt;&lt;a href=&#34;#documento-autocontenido&#34;&gt;Documento autocontenido&lt;/a&gt;&lt;/li&gt;&#xA;      &lt;/ul&gt;&#xA;    &lt;/li&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;#disposición&#34;&gt;Disposición&lt;/a&gt;&#xA;      &lt;ul&gt;&#xA;        &lt;li&gt;&lt;a href=&#34;#columnas&#34;&gt;Columnas&lt;/a&gt;&lt;/li&gt;&#xA;        &lt;li&gt;&lt;a href=&#34;#pestañas&#34;&gt;Pestañas&lt;/a&gt;&lt;/li&gt;&#xA;        &lt;li&gt;&lt;a href=&#34;#contenido-al-margen&#34;&gt;Contenido al margen&lt;/a&gt;&lt;/li&gt;&#xA;      &lt;/ul&gt;&#xA;    &lt;/li&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;#código&#34;&gt;Código&lt;/a&gt;&#xA;      &lt;ul&gt;&#xA;        &lt;li&gt;&lt;a href=&#34;#código-entre-el-texto&#34;&gt;Código entre el texto&lt;/a&gt;&lt;/li&gt;&#xA;      &lt;/ul&gt;&#xA;    &lt;/li&gt;&#xA;  &lt;/ul&gt;&#xA;&lt;/nav&gt;&#xA;    &lt;/div&gt;&#xA;  &lt;/details&gt;&#xA;  &#xA;&lt;/div&gt;&#xA;&lt;p&gt;&#xA;&lt;a href=&#34;https://quarto.org&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Quarto&lt;/a&gt; es una herramienta de publicación de documentos que te permite &lt;strong&gt;generar reportes&lt;/strong&gt; de manera muy sencilla, utilizando bloques de código de R. En estos reportes puedes incluir tablas, gráficos, y mucho más para poder compartir tus análisis y resultados con otras personas.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Limpiar textos con símbolos, tildes o eñes en R</title>
      <link>https://bastianolea.rbind.io/blog/limpiar_texto_simbolos/</link>
      <pubDate>Mon, 31 Mar 2025 00:00:00 +0000</pubDate>
      <guid>https://bastianolea.rbind.io/blog/limpiar_texto_simbolos/</guid>
      <description>&lt;p&gt;Amamos el castellano, con sus tildes y eñes, y nos encanta que R no tenga problemas para usar estos símbolos en cualquier parte del lenguaje. Pero hay veces en las que necesitamos deshacernos de estos símbolos especiales, como tildes, eñes, e incluso mayúsculas.&lt;/p&gt;&#xA;&lt;p&gt;Por ejemplo:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Si queremos dar nombres a carpetas (porque puede dar conflictos con otros sistemas operativos o para subir archivos a internet),&lt;/li&gt;&#xA;&lt;li&gt;Si queremos buscar coincidencias de texto con &lt;code&gt;stringr::str_detect()&lt;/code&gt; y queremos aumentar probabilidades de coincidir al omitir variaciones de los caracteres,&lt;/li&gt;&#xA;&lt;li&gt;Si queremos hacer un &lt;code&gt;left_join()&lt;/code&gt; entre dos bases de datos con formas distintas de guardar los datos (todos en mayúscula, todos sin tilde pero con eñes, etc.)&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;Hay muchas formas distintas de hacerlo, dependiendo de lo que necesitemos. El paquete &lt;code&gt;{stringr}&lt;/code&gt; se enfoca en el procesamiento de texto y tiene varias funciones que nos pueden ayudar.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Redactar una lista de palabras separadas por comas en R</title>
      <link>https://bastianolea.rbind.io/blog/2025-03-30/</link>
      <pubDate>Sun, 30 Mar 2025 00:00:00 +0000</pubDate>
      <guid>https://bastianolea.rbind.io/blog/2025-03-30/</guid>
      <description>&lt;p&gt;Cuando obtenemos una lista de palabras que obtuvimos desde nuestros datos, y&#xA;queremos incluirlas en algún reporte &amp;mdash;ya sea como el título de un gráfico, el&#xA;subtítulo de un capítulo, o un texto dinámico basado en los datos&amp;mdash; vamos a&#xA;querer que estén redactadas correctamente: separadas por comas. La función&#xA;&lt;code&gt;paste()&lt;/code&gt; sirve para unir distintos objetos de tipo texto.&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-r&#34; data-lang=&#34;r&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nf&#34;&gt;paste&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s&#34;&gt;&amp;#34;primera&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;s&#34;&gt;&amp;#34;segunda&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;[1] &amp;quot;primera segunda&amp;quot;&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;p&gt;Si queremos unir las dos palabras, podemos especificar un separador:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Tutorial: crea páginas web y blogs con R&#43;Quarto, y publícalos online con GitHub Pages</title>
      <link>https://bastianolea.rbind.io/blog/tutorial_quarto_github_pages/</link>
      <pubDate>Thu, 27 Mar 2025 00:00:00 +0000</pubDate>
      <guid>https://bastianolea.rbind.io/blog/tutorial_quarto_github_pages/</guid>
      <description>&lt;div style = &#34;margin-left: -16px;&#34;&gt;&#xA;  &#xA;  &lt;details closed id=&#34;PageTableOfContents&#34;&gt;&#xA;    &lt;summary&gt;&#xA;      &lt;h2 class=&#34;mv0 f5 fw7 ttu tracked dib&#34; style = &#34;margin-left: 6px; font-size: 120%;&#34;&gt;Índice&lt;/h2&gt;&#xA;      &lt;/summary&gt;&#xA;    &lt;div class=&#34;pl2 pr0 mh0&#34; style = &#34;font-size: 90%; margin-top: -8px; margin-left: 16px; margin-bottom: 32px;&#34;&gt;&#xA;    &lt;nav id=&#34;TableOfContents&#34;&gt;&#xA;  &lt;ul&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;#crear-un-repositorio-en-github-para-compartir-código-yo-datos&#34;&gt;Crear un repositorio en GitHub para compartir código y/o datos&lt;/a&gt;&#xA;      &lt;ul&gt;&#xA;        &lt;li&gt;&lt;a href=&#34;#conectar-r-a-github&#34;&gt;Conectar R a GitHub&lt;/a&gt;&lt;/li&gt;&#xA;        &lt;li&gt;&lt;a href=&#34;#crear-un-repositorio-local&#34;&gt;Crear un repositorio local&lt;/a&gt;&lt;/li&gt;&#xA;        &lt;li&gt;&lt;a href=&#34;#subir-el-repositorio-local-a-github&#34;&gt;Subir el repositorio local a GitHub&lt;/a&gt;&lt;/li&gt;&#xA;        &lt;li&gt;&lt;a href=&#34;#crear-un-archivo-readmemd&#34;&gt;Crear un archivo &lt;code&gt;readme.md&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#xA;      &lt;/ul&gt;&#xA;    &lt;/li&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;#documentos-quarto&#34;&gt;Documentos Quarto&lt;/a&gt;&lt;/li&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;#documento-quarto-en-github-pages&#34;&gt;Documento Quarto en GitHub Pages&lt;/a&gt;&lt;/li&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;#sitios-web-quarto-en-github-pages&#34;&gt;Sitios web Quarto en GitHub Pages&lt;/a&gt;&#xA;      &lt;ul&gt;&#xA;        &lt;li&gt;&lt;a href=&#34;#crear-el-sitio-web-quarto&#34;&gt;Crear el sitio web Quarto&lt;/a&gt;&lt;/li&gt;&#xA;        &lt;li&gt;&lt;a href=&#34;#agregar-páginas-a-tu-sitio&#34;&gt;Agregar páginas a tu sitio&lt;/a&gt;&lt;/li&gt;&#xA;        &lt;li&gt;&lt;a href=&#34;#cambiar-temas&#34;&gt;Cambiar temas&lt;/a&gt;&lt;/li&gt;&#xA;        &lt;li&gt;&lt;a href=&#34;#publicar-el-sitio-en-github-pages&#34;&gt;Publicar el sitio en GitHub Pages&lt;/a&gt;&lt;/li&gt;&#xA;      &lt;/ul&gt;&#xA;    &lt;/li&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;#blogs-quarto-en-github-pages&#34;&gt;Blogs Quarto en GitHub Pages&lt;/a&gt;&#xA;      &lt;ul&gt;&#xA;        &lt;li&gt;&lt;a href=&#34;#crear-un-blog-quarto&#34;&gt;Crear un blog Quarto&lt;/a&gt;&lt;/li&gt;&#xA;        &lt;li&gt;&lt;a href=&#34;#agregar-posts-al-blog-quarto&#34;&gt;Agregar posts al blog Quarto&lt;/a&gt;&lt;/li&gt;&#xA;        &lt;li&gt;&lt;a href=&#34;#subir-el-blog-quarto-a-github-pages&#34;&gt;Subir el blog Quarto a GitHub Pages&lt;/a&gt;&lt;/li&gt;&#xA;      &lt;/ul&gt;&#xA;    &lt;/li&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;#blog-hugo&#34;&gt;Blog Hugo&lt;/a&gt;&lt;/li&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;#apps-shiny&#34;&gt;Apps Shiny&lt;/a&gt;&lt;/li&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;#recursos&#34;&gt;Recursos:&lt;/a&gt;&lt;/li&gt;&#xA;  &lt;/ul&gt;&#xA;&lt;/nav&gt;&#xA;    &lt;/div&gt;&#xA;  &lt;/details&gt;&#xA;  &#xA;&lt;/div&gt;&#xA;&lt;p&gt;En este tutorial veremos cuatro formas relativamente sencillas, y ordenadas de menor a mayor dificultad, para crear nuestros propios espacios en internet para compartir nuestras creaciones, aprendizajes y quiénes somos usando R, y de forma completamente gratuita.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Unir y combinar gráficos `{ggplot2}` con `{patchwork}`</title>
      <link>https://bastianolea.rbind.io/blog/patchwork/</link>
      <pubDate>Sat, 08 Mar 2025 00:00:00 +0000</pubDate>
      <guid>https://bastianolea.rbind.io/blog/patchwork/</guid>
      <description>&lt;p&gt;&#xA;&lt;a href=&#34;https://patchwork.data-imaginist.com/articles/patchwork.html&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;El paquete &lt;code&gt;{patchwork}&lt;/code&gt;&lt;/a&gt; ayuda a &lt;strong&gt;unir y combinar gráficos&lt;/strong&gt; de &lt;code&gt;{ggplot2}&lt;/code&gt;. En esta guía veremos los principios del uso de este paquete, que nos permitirá construir visualizaciones más complejas&lt;/p&gt;&#xA;&lt;div style = &#34;margin-left: -16px;&#34;&gt;&#xA;  &#xA;  &lt;details closed id=&#34;PageTableOfContents&#34;&gt;&#xA;    &lt;summary&gt;&#xA;      &lt;h2 class=&#34;mv0 f5 fw7 ttu tracked dib&#34; style = &#34;margin-left: 6px; font-size: 120%;&#34;&gt;Índice&lt;/h2&gt;&#xA;      &lt;/summary&gt;&#xA;    &lt;div class=&#34;pl2 pr0 mh0&#34; style = &#34;font-size: 90%; margin-top: -8px; margin-left: 16px; margin-bottom: 32px;&#34;&gt;&#xA;    &lt;nav id=&#34;TableOfContents&#34;&gt;&#xA;  &lt;ul&gt;&#xA;    &lt;li&gt;&#xA;      &lt;ul&gt;&#xA;        &lt;li&gt;&lt;a href=&#34;#combinar-dos-gráficos-lado-a-lado&#34;&gt;Combinar dos gráficos lado a lado&lt;/a&gt;&lt;/li&gt;&#xA;        &lt;li&gt;&lt;a href=&#34;#combinar-dos-gráficos-uno-arriba-del-otro&#34;&gt;Combinar dos gráficos uno arriba del otro&lt;/a&gt;&lt;/li&gt;&#xA;        &lt;li&gt;&lt;a href=&#34;#combinar-más-de-dos-gráficos&#34;&gt;Combinar más de dos gráficos&lt;/a&gt;&lt;/li&gt;&#xA;      &lt;/ul&gt;&#xA;    &lt;/li&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;#poner-un-gráfico-dentro-de-otro&#34;&gt;Poner un gráfico dentro de otro&lt;/a&gt;&lt;/li&gt;&#xA;  &lt;/ul&gt;&#xA;&lt;/nav&gt;&#xA;    &lt;/div&gt;&#xA;  &lt;/details&gt;&#xA;  &#xA;&lt;/div&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-r&#34; data-lang=&#34;r&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nf&#34;&gt;library&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;dplyr&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nf&#34;&gt;library&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;ggplot2&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nf&#34;&gt;library&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;patchwork&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Primero crearemos dos gráficos de muestra, a partir del dataset &lt;code&gt;iris&lt;/code&gt;.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Creación y personalización de colores y paletas en R</title>
      <link>https://bastianolea.rbind.io/blog/colores/</link>
      <pubDate>Thu, 06 Mar 2025 00:00:00 +0000</pubDate>
      <guid>https://bastianolea.rbind.io/blog/colores/</guid>
      <description>&lt;p&gt;El uso del color es clave para comunicar, y el ecosistema de R tiene varios trucos convenientes para ayudarnos a usar el color de mejores formas.&lt;/p&gt;&#xA;&lt;p&gt;En R, los colores se escriben como código, y a grandes rasgos pueden ser colores con &lt;strong&gt;nombre&lt;/strong&gt; (por ejemplo, &lt;code&gt;&amp;quot;purple&amp;quot;&lt;/code&gt;), colores &lt;strong&gt;hexadecimales&lt;/strong&gt; (escritos como códigos de al menos 6 dígitos, como &lt;code&gt;#FFFFFF&lt;/code&gt;), o como parte de funciones que producen &lt;strong&gt;paletas&lt;/strong&gt; de colores.&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-r&#34; data-lang=&#34;r&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nf&#34;&gt;library&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;shades&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nf&#34;&gt;library&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;scales&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&#xA;&#xA;&#xA;&#xA;&lt;h2 id=&#34;previsualizar-colores&#34;&gt;Previsualizar colores&#xA;  &lt;a href=&#34;#previsualizar-colores&#34;&gt;&lt;svg class=&#34;anchor-symbol&#34; aria-hidden=&#34;true&#34; height=&#34;26&#34; width=&#34;26&#34; viewBox=&#34;0 0 22 22&#34; xmlns=&#34;http://www.w3.org/2000/svg&#34;&gt;&#xA;      &lt;path d=&#34;M0 0h24v24H0z&#34; fill=&#34;currentColor&#34;&gt;&lt;/path&gt;&#xA;      &lt;path d=&#34;M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76.0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71.0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71.0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76.0 5-2.24 5-5s-2.24-5-5-5z&#34;&gt;&lt;/path&gt;&#xA;    &lt;/svg&gt;&lt;/a&gt;&#xA;&lt;/h2&gt;&#xA;&lt;p&gt;A lo largo de este post usaremos la función &lt;code&gt;swatch()&lt;/code&gt; del paquete &lt;code&gt;{shades}&lt;/code&gt;, que genera un gráfico que presenta el color o la paleta de colores a partir de un vector de colores, lo que nos ayudará a visualizar nuestros colores más fácil. Una alternativa es la función &lt;code&gt;show_col()&lt;/code&gt; de &lt;code&gt;{scales}&lt;/code&gt;, que hace lo mismo.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Rotar un mapa de Chile en R para que quede horizontal</title>
      <link>https://bastianolea.rbind.io/blog/mapa_chile_horizontal/</link>
      <pubDate>Tue, 04 Mar 2025 00:00:00 +0000</pubDate>
      <guid>https://bastianolea.rbind.io/blog/mapa_chile_horizontal/</guid>
      <description>&lt;p&gt;Visualizar un mapa de Chile puede ser complicado debido a su largo. Muchas veces cuesta ubicar correctamente el mapa por el espacio vertical que requiere. Pero en ciertos casos puede ser conveniente &lt;strong&gt;visualizar a Chile &lt;em&gt;de lado&lt;/em&gt;&lt;/strong&gt;, para aprovechar el espacio horizontal.&lt;/p&gt;&#xA;&lt;p&gt;En esta guía veremos cómo rotar un mapa de Chile 90° hacia la izquierda en R para que quede acostado 💤🌙&lt;/p&gt;&#xA;&#xA;&#xA;&lt;div style=&#34;display: flex; align-items: center; gap: 15px; padding: 14px; &#xA;            background-color: #493365;&#xA;            border-radius: 6px;&#xA;            margin: 20px 40px 20px 40px;&#34;&gt;&#xA;  &#xA;  &lt;div style=&#34;flex-shrink: 0;&#34;&gt;&#xA;    &lt;i class=&#34;fas fa-triangle-exclamation&#34; style=&#34;font-size: 130%; margin-left: 2px; opacity: 1; color: #EAD2FA;&#34;&gt;&lt;/i&gt;&#xA;  &lt;/div&gt;&#xA;  &#xA;  &lt;aside style = &#34;font-size: 90%; color: #EAD2FA;&#34;&gt;&#xA;    Si necesitas aprender en profundidad la visualización de mapas con R, revisa mi &#xA;&lt;a href=&#34;https://bastianolea.rbind.io/blog/mapas_sf/&#34;&gt;tutorial de mapas y datos espaciales con &lt;code&gt;{sf}&lt;/code&gt;&lt;/a&gt;.&#xA;  &lt;/aside&gt;&#xA;  &#xA;&lt;/div&gt;&#xA;&lt;p&gt;Primero cargamos los paquetes necesarios:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Simplificar la geometría de los polígonos de un mapa en R</title>
      <link>https://bastianolea.rbind.io/blog/simplificar_mapas/</link>
      <pubDate>Thu, 27 Feb 2025 00:00:00 +0000</pubDate>
      <guid>https://bastianolea.rbind.io/blog/simplificar_mapas/</guid>
      <description>&lt;p&gt;Un problema común al visualizar datos georeferenciados o mapas coropléticos (con colores en las zonas geográficas que se corresponden con los datos) yace en que usamos mapas que tienen geometrías o características geográficas mucho más detalladas de lo que necesitamos. Este exceso de detalle puede jugarle en contra a la visualización que estamos intentando crear, ya sea porque dificulta la interpretación, o complejiza visualmente el gráfico.&lt;/p&gt;&#xA;&lt;p&gt;Otro problema de trabajar con mapas muy detallados es que la velocidad con la que se generan se ve impactada debido al detalle, lo que resulta inconveniente dado que al visualizar datos usualmente nos encontramos iterando decenas de veces una misma visualización hasta que se vea como queremos.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Predecir género a partir de nombres usando un modelo de lenguaje en R</title>
      <link>https://bastianolea.rbind.io/blog/genero_nombres_llm/</link>
      <pubDate>Wed, 19 Feb 2025 00:00:00 +0000</pubDate>
      <guid>https://bastianolea.rbind.io/blog/genero_nombres_llm/</guid>
      <description>&lt;p&gt;&#xA;&lt;a href=&#34;https://bastianolea.rbind.io/blog/introduccion_llm_mall/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Hace poco&lt;/a&gt; conocí &#xA;&lt;a href=&#34;https://mlverse.github.io/mall/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;el paquete &lt;code&gt;{mall}&lt;/code&gt;&lt;/a&gt;, que facilita mucho el uso de un un modelo de lenguaje (LLM) local como una herramienta cotidiana para el análisis y procesamiento de datos.&lt;/p&gt;&#xA;&lt;p&gt;El paquete incluye varias funciones para usar un modelo LLM local en las columnas de un dataframe. &lt;code&gt;{mall}&lt;/code&gt; te puede ayudar a :&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;clasificar el contenido de una variable&lt;/li&gt;&#xA;&lt;li&gt;resumir textos&lt;/li&gt;&#xA;&lt;li&gt;extraer sentimiento a partir del texto&lt;/li&gt;&#xA;&lt;li&gt;extraer información desde el texto&lt;/li&gt;&#xA;&lt;li&gt;confirmar si algo es verdadero o falso a partir de un texto&lt;/li&gt;&#xA;&lt;li&gt;y también a aplicar cualquier &lt;em&gt;prompt&lt;/em&gt; a una variable.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div style=&#34;display: flex; align-items: center; gap: 15px; padding: 14px; &#xA;            /*background-color: #A985C650;*/&#xA;            background-color: #DEC4F2;&#xA;            border-radius: 6px;&#xA;            margin: 20px 40px 20px 40px;&#34;&gt;&#xA;  &#xA;  &lt;div style=&#34;flex-shrink: 0;&#34;&gt;&#xA;    &lt;i class=&#34;fas fa-info-circle&#34; style=&#34;font-size: 130%; margin-left: 2px; opacity: 1; color: #9069C0;&#34;&gt;&lt;/i&gt;&#xA;  &lt;/div&gt;&#xA;  &#xA;  &lt;aside style = &#34;font-size: 90%;&#34;&gt;&#xA;    Puedes encontrar instrucciones detalladas sobre configurar el uso de IA en R &#xA;&lt;a href=&#34;https://bastianolea.rbind.io/blog/ellmer/&#34;&gt;en esta publicación.&lt;/a&gt;&#xA;  &lt;/aside&gt;&#xA;  &#xA;&lt;/div&gt;&#xA;&lt;p&gt;Recientemente lo usé para un caso real, donde tenía una columna de casi 2.000 nombres, y necesitaba asignarle un género a cada una de estas personas, solamente a partir de sus nombres y apellidos.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Protege el acceso a tus aplicaciones Shiny con contraseña</title>
      <link>https://bastianolea.rbind.io/blog/shiny_usuarios/</link>
      <pubDate>Mon, 17 Feb 2025 00:00:00 +0000</pubDate>
      <guid>https://bastianolea.rbind.io/blog/shiny_usuarios/</guid>
      <description>&lt;p&gt;Si &#xA;&lt;a href=&#34;https://bastianolea.rbind.io/blog/shiny/&#34;&gt;creaste una aplicación Shiny&lt;/a&gt; y quieres &#xA;&lt;a href=&#34;https://bastianolea.rbind.io/blog/shiny/#publicar-la-aplicaci%c3%b3n-en-internet&#34;&gt;compartirla con otros/as&lt;/a&gt;, pero tu app contiene información que no puede ser vista por cualquiera, ¡entonces sigue estos pasos! En unos minutos tendrás una aplicación que requiere de usuario y contraseña para poder usarla.&lt;/p&gt;&#xA;&lt;div style=&#34;margin: 28px 0;&#34;&gt;&#xA;    &lt;p class=&#34;titulo-panel&#34;&gt;&#xA;      Publicaciones relacionadas&#xA;    &lt;/p&gt;&#xA;&#xA;  &lt;a href=&#34;https://bastianolea.rbind.io/blog/shiny/&#34;&#xA;     style=&#34;display: flex;&#xA;            flex-direction: row;&#xA;            align-items: stretch;&#xA;            text-decoration: none;&#xA;            color: inherit;&#xA;            /*border: 1px solid #9069C035;*/&#xA;            border: solid 2px #A885C6AA;&#xA;            border-radius: 8px;&#xA;            overflow: hidden;&#xA;            /*background-color: #9069C00d;*/&#xA;            background-color: #9069C020;&#xA;            &#34;&gt;&#xA;&#xA;    &#xA;    &lt;figure style=&#34;flex-shrink: 0;&#xA;                   position: relative;&#xA;                   width: 140px;&#xA;                   min-height: 80px;&#xA;                   margin: 10px 0 10px 10px;&#xA;                   overflow: hidden;&#xA;                   border-radius: 5px;&#34;&gt;&#xA;      &lt;img src=&#34;https://bastianolea.rbind.io/blog/shiny/shiny-apps-featured.jpg&#34;&#xA;           alt=&#34;Tutorial: Crea aplicaciones web interactivas en R con Shiny&#34;&#xA;           style=&#34;position: absolute;&#xA;                  inset: 0;&#xA;                  width: 100%;&#xA;                  height: 100%;&#xA;                  object-fit: cover;&#xA;                  object-position: center top;&#xA;                  margin: 0;&#34;&gt;&#xA;    &lt;/figure&gt;&#xA;    &#xA;&#xA;    &lt;div style=&#34;padding: 15px 20px;&#xA;                flex: 1;&#xA;                display: flex;&#xA;                flex-direction: column;&#xA;                justify-content: center;&#xA;                gap: 6px;&#34;&gt;&#xA;&#xA;      &lt;p style=&#34;margin: 0;&#xA;                font-size: 95%;&#xA;                color: #9069C0;&#xA;                font-weight: bold;&#xA;                line-height: 1.35;&#34;&gt;&#xA;        Tutorial: Crea aplicaciones web interactivas en R con Shiny&#xA;      &lt;/p&gt;</description>
    </item>
    <item>
      <title>Rellenar datos perdidos usando datos de otra tabla</title>
      <link>https://bastianolea.rbind.io/blog/2025-02-14/</link>
      <pubDate>Fri, 14 Feb 2025 00:00:00 +0000</pubDate>
      <guid>https://bastianolea.rbind.io/blog/2025-02-14/</guid>
      <description>&lt;p&gt;¿Te ha pasado que tienes una tabla con datos perdidos, y otra tabla con una columna que coincide con la primera tabla, que además cuenta con datos que quieres usar para rellenar las observaciones perdidas? Antes pensaba que esto se resolvía con &lt;code&gt;left_join()&lt;/code&gt; y algún ajuste para reemplazar los perdidos con los datos anexados. Pero ayer conocí una función que resuelve este problema de inmediato: &lt;code&gt;rows_update()&lt;/code&gt;!&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-r&#34; data-lang=&#34;r&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nf&#34;&gt;library&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;dplyr&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;|&amp;gt;&lt;/span&gt; &lt;span class=&#34;nf&#34;&gt;suppressPackageStartupMessages&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;()&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;tabla_1&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;&amp;lt;-&lt;/span&gt; &lt;span class=&#34;nf&#34;&gt;tibble&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;ciudad&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;nf&#34;&gt;c&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s&#34;&gt;&amp;#34;Santiago&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;s&#34;&gt;&amp;#34;Concepción&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;s&#34;&gt;&amp;#34;Valparaíso&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;s&#34;&gt;&amp;#34;Arica&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;),&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;                  &lt;span class=&#34;n&#34;&gt;poblacion&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;nf&#34;&gt;c&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;m&#34;&gt;7123891&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;m&#34;&gt;1036142&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;m&#34;&gt;1054253&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;m&#34;&gt;221364&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;),&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;                  &lt;span class=&#34;n&#34;&gt;temperatura&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;nf&#34;&gt;c&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;kc&#34;&gt;NA&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;m&#34;&gt;17.6&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;kc&#34;&gt;NA&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;m&#34;&gt;19.2&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;))&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;tabla_1&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;# A tibble: 4 × 3&#xA;  ciudad     poblacion temperatura&#xA;  &amp;lt;chr&amp;gt;          &amp;lt;dbl&amp;gt;       &amp;lt;dbl&amp;gt;&#xA;1 Santiago     7123891        NA  &#xA;2 Concepción   1036142        17.6&#xA;3 Valparaíso   1054253        NA  &#xA;4 Arica         221364        19.2&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-r&#34; data-lang=&#34;r&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;tabla_2&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;&amp;lt;-&lt;/span&gt; &lt;span class=&#34;nf&#34;&gt;tibble&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;ciudad&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;nf&#34;&gt;c&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s&#34;&gt;&amp;#34;Santiago&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;s&#34;&gt;&amp;#34;Rancagua&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;s&#34;&gt;&amp;#34;Concepción&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;s&#34;&gt;&amp;#34;Arica&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;s&#34;&gt;&amp;#34;Valparaíso&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;),&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;                  &lt;span class=&#34;n&#34;&gt;temperatura&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;nf&#34;&gt;c&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;m&#34;&gt;22.8&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;m&#34;&gt;14.0&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;m&#34;&gt;17.6&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;m&#34;&gt;19.2&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;m&#34;&gt;17.5&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;))&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;tabla_2&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;# A tibble: 5 × 2&#xA;  ciudad     temperatura&#xA;  &amp;lt;chr&amp;gt;            &amp;lt;dbl&amp;gt;&#xA;1 Santiago          22.8&#xA;2 Rancagua          14  &#xA;3 Concepción        17.6&#xA;4 Arica             19.2&#xA;5 Valparaíso        17.5&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;p&gt;En este ejemplo, tenemos dos tablas: la primera tiene una columna con datos perdidos o faltantes, y la segunda tabla, de datos similares, contiene las observaciones que en la primera tabla están faltando.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Cargar archivos csv más rápido en R con Arrow</title>
      <link>https://bastianolea.rbind.io/blog/2025-02-12/</link>
      <pubDate>Wed, 12 Feb 2025 00:00:00 +0000</pubDate>
      <guid>https://bastianolea.rbind.io/blog/2025-02-12/</guid>
      <description>&lt;p&gt;Los archivos &lt;code&gt;csv&lt;/code&gt; (&lt;em&gt;comma-separated values,&lt;/em&gt; valores separados por comas) suelen ser el formato más básico para guardar datos. Los beneficios que tienen los csv con respecto a compatibilidad y accesibilidad son a su vez la causa de sus desventajas: son más pesados porque sus datos no se guardan comprimidos, y suelen ser &lt;strong&gt;más lentos de cargar&lt;/strong&gt;, porque los datos no vienen codificados de una forma optimizada.&lt;/p&gt;&#xA;&lt;p&gt;Sin embargo, usualmente grandes bases de datos son guardadas en archivos csv, con varios millones de filas, lo que puede hacer que la carga de un archivo dure entre varios segundos a &lt;strong&gt;minutos&lt;/strong&gt;.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Repositorio de datos sociales</title>
      <link>https://bastianolea.rbind.io/blog/datos_sociales/</link>
      <pubDate>Sun, 09 Feb 2025 00:00:00 +0000</pubDate>
      <guid>https://bastianolea.rbind.io/blog/datos_sociales/</guid>
      <description>&lt;p&gt;Acabo de &#xA;&lt;a href=&#34;https://bastianolea.github.io/datos_sociales/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;publicar una nueva página&lt;/a&gt; donde voy a estar recopilando todos los conjuntos de datos sociales con los que trabajo o he trabajado.&lt;/p&gt;&#xA;&lt;p&gt;La idea de esta página es poder compartir fácilmente datos sociales sobre Chile que vienen limpios y procesados, para facilitar el trabajo de otras personas, y también ayudarles a aprender análisis de datos.&lt;/p&gt;&#xA;&lt;p&gt;Se trata de una tabla que se genera automáticamente, la cual contiene una lista de repositorios enfocados en datos sociales, con clasificación según la temática del dato, y varias columnas que indican las características del conjunto de datos, como si es que el dato contiene variables de género, si está desagregado a nivel comunal, si existe una aplicación de visualización de datos asociada, la temporalidad (anual/mensual/semanal) de las observaciones, y más.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Resumir textos usando modelos de lenguaje (LLM) locales en R</title>
      <link>https://bastianolea.rbind.io/blog/resumir_texto_llm/</link>
      <pubDate>Sat, 08 Feb 2025 00:00:00 +0000</pubDate>
      <guid>https://bastianolea.rbind.io/blog/resumir_texto_llm/</guid>
      <description>&lt;p&gt;Los modelos de lenguaje (LLM) son herramientas muy útiles para analizar texto, y usarlos en tus análisis de datos con R es sencillo. Previamente en este blog ya he explicado cómo usar LLMs para &#xA;&lt;a href=&#34;../../../blog/analisis_sentimiento_llm/&#34;&gt;análisis de sentimiento&lt;/a&gt; y &#xA;&lt;a href=&#34;../../../tags/inteligencia-artificial/&#34;&gt;otros usos&lt;/a&gt;. En este tutorial, te enseño a utilizar modelos de lenguaje locales, instalados en tu propio computador, para obtener resúmenes de textos. Esto puede servir por si estás analizando una base de datos de texto que contenga textos de extensión larga, para los cuales sería conveniente tener una versión más breve. Por ejemplo, al analizar resultados de &#xA;&lt;a href=&#34;../../../tags/web-scraping/&#34;&gt;web scraping&lt;/a&gt;, conjuntos de &#xA;&lt;a href=&#34;../../../blog/2024-12-31/&#34;&gt;datos periodísticos o de noticias&lt;/a&gt;, datos de entrevistas, respuestas abiertas en encuestas, etc.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Video: Presentación de Visualizador de datos de Corrupción en Chile</title>
      <link>https://bastianolea.rbind.io/blog/unim/presentacion_visualizador_datos_corrupcion/</link>
      <pubDate>Fri, 24 Jan 2025 00:00:00 +0000</pubDate>
      <guid>https://bastianolea.rbind.io/blog/unim/presentacion_visualizador_datos_corrupcion/</guid>
      <description>&lt;p&gt;Exposición en la &lt;strong&gt;Universidad Internacional de la Municipalidad de Rancagua&lt;/strong&gt;, instancia organizada por el &lt;strong&gt;Programa de Gobierno Local Abierto&lt;/strong&gt; (GOBLA) de la Municipalidad de Rancagua.&lt;/p&gt;&#xA;&lt;p&gt;En esta presentación doy a conocer el &#xA;&lt;a href=&#34;https://bastianolea.rbind.io/apps/corrupcion_chile&#34;&gt;visualizador de datos de Corrupción&lt;/a&gt;, explicando cómo fue el proceso de inspirarme a hacerlo, los desafíos que tuve durante su desarrollo, y la experiencia de colaboración y discusión en torno a un proyecto de datos que pueden ser polémicos.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Video: Taller Aplicación de la Ciencia de Datos en la Gestión Municipal</title>
      <link>https://bastianolea.rbind.io/blog/unim/taller_ciencia_de_datos_gestion_municipal/</link>
      <pubDate>Fri, 24 Jan 2025 00:00:00 +0000</pubDate>
      <guid>https://bastianolea.rbind.io/blog/unim/taller_ciencia_de_datos_gestion_municipal/</guid>
      <description>&lt;p&gt;Tuve el privilegio de exponer en la &lt;strong&gt;Universidad Internacional de la Municipalidad de Rancagua&lt;/strong&gt;, un espacio de diálogo, aprendizaje y colaboración, organizado por el &lt;strong&gt;Programa de Gobierno Local Abierto&lt;/strong&gt; (GOBLA) de la Municipalidad de Rancagua.&lt;/p&gt;&#xA;&lt;p&gt;Presenté un taller dirigido a funcionarios y funcionarias municipales sobre Aplicación de la ciencia de datos en la Gestión Municipal, donde comuniqué la importancia de manejar herramientas de progamación para le análisis de datos, favoreciendo el desarrollo de herramientas reutilizables, reproducibles, transparentes y abiertas.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Introducción al Análisis de Datos con R para principiantes</title>
      <link>https://bastianolea.rbind.io/clases/spatiallab_introduccion_r_1/</link>
      <pubDate>Tue, 21 Jan 2025 18:30:00 +0000</pubDate>
      <guid>https://bastianolea.rbind.io/clases/spatiallab_introduccion_r_1/</guid>
      <description>&lt;p&gt;&lt;strong&gt;Inscripciones cerradas.&lt;/strong&gt; Por favor &#xA;&lt;a href=&#34;https://bastianolea.rbind.io/clases/spatiallab_introduccion_r_2&#34;&gt;visite la nueva versión de este curso aquí.&lt;/a&gt;&lt;/p&gt;&#xA;&lt;a href=&#34;curso_introduccion_r_1_featured.jpg&#34; target=&#34;_blank&#34;&gt;&#xA;&#xA;  &lt;img src=&#34;curso_introduccion_r_1_featured.jpg&#34; style=&#34;border-radius: 5px; width: 80%; max-width: 700px; display: block; margin: auto; margin-bottom: 8px; margin-top: 8px;&#34;&gt;&#xA;  &#xA;&lt;/a&gt;&#xA;&#xA;&#xA;&#xA;&#xA;&lt;h4 id=&#34;quieres-iniciarte-en-el-mundo-del-análisis-de-datos&#34;&gt;¿Quieres iniciarte en el mundo del análisis de datos?&#xA;  &lt;a href=&#34;#quieres-iniciarte-en-el-mundo-del-an%c3%a1lisis-de-datos&#34;&gt;&lt;/a&gt;&#xA;&lt;/h4&gt;&#xA;&lt;p&gt;A finales de enero empiezo a dictar el curso &amp;ldquo;Introducción al Análisis de Datos con R para principiantes”, con el que puedes aprender desde cero a manipular, explorar y visualizar datos con el lenguaje R.&lt;/p&gt;&#xA;&lt;p&gt;Si no tienes experiencia programando ni analizando datos, o si ya tienes experiencia pero quieres fortalecer tus habilidades y potenciarlas, ¡este curso es para ti! Puedes elegir los niveles que necesites para adaptar el curso a tus necesidades.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Actualización de app Análisis de prensa: visualización de análisis de sentimiento de noticias recientes</title>
      <link>https://bastianolea.rbind.io/blog/2025-01-14/</link>
      <pubDate>Tue, 14 Jan 2025 00:00:00 +0000</pubDate>
      <guid>https://bastianolea.rbind.io/blog/2025-01-14/</guid>
      <description>&lt;h3 id=&#34;actualización-de-app-análisis-de-prensa-&#34;&gt;Actualización de app análisis de prensa 🗞️&#xA;  &lt;a href=&#34;#actualizaci%c3%b3n-de-app-an%c3%a1lisis-de-prensa-&#34;&gt;&lt;svg class=&#34;anchor-symbol&#34; aria-hidden=&#34;true&#34; height=&#34;26&#34; width=&#34;26&#34; viewBox=&#34;0 0 22 22&#34; xmlns=&#34;http://www.w3.org/2000/svg&#34;&gt;&#xA;      &lt;path d=&#34;M0 0h24v24H0z&#34; fill=&#34;currentColor&#34;&gt;&lt;/path&gt;&#xA;      &lt;path d=&#34;M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76.0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71.0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71.0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76.0 5-2.24 5-5s-2.24-5-5-5z&#34;&gt;&lt;/path&gt;&#xA;    &lt;/svg&gt;&lt;/a&gt;&#xA;&lt;/h3&gt;&#xA;&lt;p&gt;&lt;strong&gt;Nuevo:&lt;/strong&gt; gráfico de análisis de sentimiento: elige un tema y revisa si las noticias recientes fueron mayormente positivas o negativas. Compara cómo distintos medios abordan las temáticas. ¡Pronto más detalle!&lt;/p&gt;&#xA;&lt;p&gt;&lt;img style = &#34;border-radius: 7px; width: 100%; max-width: 400px; display: block; margin: auto;&#34;&#xA;src = analisis_sentimiento_1.png&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Configura RStudio para que cambie al modo oscuro o claro automáticamente según la hora del día</title>
      <link>https://bastianolea.rbind.io/blog/2025-01-12/</link>
      <pubDate>Sun, 12 Jan 2025 00:00:00 +0000</pubDate>
      <guid>https://bastianolea.rbind.io/blog/2025-01-12/</guid>
      <description>&lt;div style = &#34;display: flex; justify-content: center; width: 100%; margin-bottom: 40px;&#34;&gt;&#xA;&lt;img style = &#34;width: 50%;&#34; src=&#34;https://bastianolea.rbind.io/blog/tema_morado/tema_oscuro.png&#34;&gt;&#xA;&lt;img style = &#34;width: 50%;&#34; src=&#34;https://bastianolea.rbind.io/blog/tema_morado/tema_claro.png&#34;&gt;&#xA;&lt;/div&gt;&#xA;&lt;p&gt;En la eterna batalla entre usuarios de tema oscuro y tema claro, yo lamentablemente soy del bando correcto: &lt;strong&gt;tema oscuro durante la noche, y tema claro durante el día.&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;p&gt;La idea de usar un tema oscuro en una pantalla no es que se vea más bonito y profesional todo de negro, sino ayudarte a &lt;strong&gt;reducir el contraste de la pantalla con respecto al espacio en el que estás trabajando.&lt;/strong&gt; En este sentido, si estás en un espacio bien iluminado, deberías usar un tema claro, para no forzar a vista a tener que adaptarse entre un entorno brillante y una pantalla oscura. Si estás en un espacio oscuro, o de iluminación baja, deberías usar un tema oscuro para adecuarte a la iluminación a tu alrededor, junto con ajustar el brillo de tu pantalla.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Graba el proceso de tus visualizaciones de datos con `{camcorder}`</title>
      <link>https://bastianolea.rbind.io/blog/camcorder/</link>
      <pubDate>Sat, 11 Jan 2025 00:00:00 +0000</pubDate>
      <guid>https://bastianolea.rbind.io/blog/camcorder/</guid>
      <description>&lt;p&gt;El &#xA;&lt;a href=&#34;https://github.com/thebioengineer/camcorder&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;paquete de R {camcorder}&lt;/a&gt; te permite ir registrando todos los gráficos que hagas durante una sesión, y al final te entrega una animación que contiene el paso a paso de tu proceso de visualización de datos, desde el gráfico de {ggplot2} inicial hasta el producto final.&lt;/p&gt;&#xA;&lt;p&gt;&lt;img style = &#34;border-radius: 7px; width: 100%; max-width: 400px; display: block; margin: auto;&#34;&#xA;src = &#34;camcorder1.webp&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;Solo tienes que instalarlo y activarlo para que todos los gráficos que generes vayan siendo registrados automáticamente:&lt;/p&gt;</description>
    </item>
    <item>
      <title>App: Genocidio en Palestina</title>
      <link>https://bastianolea.rbind.io/blog/app_palestina/</link>
      <pubDate>Wed, 08 Jan 2025 00:00:00 +0000</pubDate>
      <guid>https://bastianolea.rbind.io/blog/app_palestina/</guid>
      <description>&lt;p&gt;&#xA;&lt;a href=&#34;https://bastianoleah.shinyapps.io/palestina&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Visualizador de datos&lt;/a&gt; que busca reflejar el horror de la guerra y el exterminio que se están llevando a cabo en el territorio de Palestina por obra del estado de Israel y sus aliados. Los datos provienen de &#xA;&lt;a href=&#34;https://data.techforpalestine.org/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Palestine Datasets&lt;/a&gt; y de &#xA;&lt;a href=&#34;https://acleddata.com/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Armed Conflict Location &amp;amp; Event Data&lt;/a&gt;, organizaciones que están documentando datos sobre identificación de víctimas y registro de sucesos de relevancia política en la región.&lt;/p&gt;&#xA;&lt;p&gt;&#xA;&lt;a href=&#34;https://bastianoleah.shinyapps.io/palestina&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Accede al visualizador de datos por este enlace.&lt;/a&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Portafolio de aplicaciones en R</title>
      <link>https://bastianolea.rbind.io/blog/portafolio_apps/</link>
      <pubDate>Mon, 06 Jan 2025 00:00:00 +0000</pubDate>
      <guid>https://bastianolea.rbind.io/blog/portafolio_apps/</guid>
      <description>&lt;p&gt;Portafolio de una selección de las aplicaciones públicas de visualización de datos que he desarrollado. Se trata de pequeñas aplicaciones web diseñadas para hacer más accesibles y comprensibles ciertos conjuntos de datos sobre temáticas sociales, políticas y socioeconómicas. Todas estas aplicaciones web fueron desarrolladas con R, y tanto el código de fuente como sus datos están disponibles de manera pública y abierta.&lt;/p&gt;&#xA;&lt;p&gt;Otra versión más detallada de este portafolio está disponible en este enlace: &#xA;&lt;a href=&#34;https://bastianolea.github.io/shiny_apps/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;https://bastianolea.github.io/shiny_apps/&lt;/a&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Mención en Infoactivismo en Latinoamérica 2024</title>
      <link>https://bastianolea.rbind.io/blog/2025-01-01/</link>
      <pubDate>Wed, 01 Jan 2025 00:00:00 +0000</pubDate>
      <guid>https://bastianolea.rbind.io/blog/2025-01-01/</guid>
      <description>&lt;p&gt;Estoy muy feliz porque la organización &#xA;&lt;a href=&#34;https://socialtic.org&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;SocialTIC&lt;/a&gt; junto a &#xA;&lt;a href=&#34;https://infoactivismo.org/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;infoactivismo.org&lt;/a&gt; me mencionaron como una de las iniciativas de infoactivismo más destacada del año 2024! 🥳💕&lt;/p&gt;&#xA;&lt;p&gt;&#xA;&lt;a href=&#34;https://infoactivismo.org/lo-mejor-del-infoactivismo-en-latinoamerica-2024/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;&lt;em&gt;Lo mejor del Infoactivismo 2024&lt;/em&gt;&lt;/a&gt; es un recuento anual de iniciativas y proyectos dedicados a la justicia y el cambio social apoyadas en tecnologías, datos e información en Latinoamérica.&lt;/p&gt;&#xA;&lt;p&gt;&#xA;&lt;a href=&#34;https://infoactivismo.org/lo-mejor-del-infoactivismo-en-latinoamerica-2024/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;&lt;img src=&#34;https://bastianolea.rbind.io/blog/2025-01-01/infoactivismo-featured.jpeg&#34;&gt;&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;Agradezco mucho la mención! Es un honor estar entre otras iniciativas tan destacadas. Para mi, el año 2024 fue un año en el que me di cuenta que podía combinar mis habilidades técnicas con mis intereses sociales y políticos para crear herramientas de visualización de datos que resulten útiles e interesantes para los demás. Espero que este 2025 se venga con más datos!&lt;/p&gt;</description>
    </item>
    <item>
      <title>Web scraping de noticias: avances de fin de año</title>
      <link>https://bastianolea.rbind.io/blog/2024-12-31/</link>
      <pubDate>Tue, 31 Dec 2024 00:00:00 +0000</pubDate>
      <guid>https://bastianolea.rbind.io/blog/2024-12-31/</guid>
      <description>&lt;p&gt;A largo de todo el año 2024 he estado realizando &#xA;&lt;a href=&#34;https://bastianolea.rbind.io/tags/web-scraping/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;web scraping&lt;/a&gt; de distintas fuentes de noticias digitales de Chile. Casi todos los días ejecuto un script que a su vez se ejecuta decenas de otros scripts, que realizan el scraping diario de noticias. El resultado de estos procesos, día tras día, va aumentando la cantidad total de noticias que he ido recolectando. De vez en cuando, algún sitio cambia, o algo falla, y tengo que corregir manualmente los scripts. Cada cierto tiempo ejecuto versiones alternativas de los scripts para hacer una extracción de datos desde fechas anteriores, aumentando la cantidad total de noticias de fechas pasadas, lo que me permite rellenar vacíos en las obtenciones anteriores de noticias diarias, como también aumentar la cantidad total de noticias con datos desde años antes de que empezara este proyecto.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Clases particulares de R</title>
      <link>https://bastianolea.rbind.io/clases/clases_particulares/</link>
      <pubDate>Mon, 30 Dec 2024 00:00:00 +0000</pubDate>
      <guid>https://bastianolea.rbind.io/clases/clases_particulares/</guid>
      <description>&lt;p&gt;&lt;del&gt;&lt;strong&gt;Inscripciones abiertas.&lt;/strong&gt;&lt;/del&gt;&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;Actualmente no estoy impartiendo clases particulares! Lo siento 😔&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;p&gt;&lt;del&gt;&#xA;&lt;a href=&#34;https://bastianolea.rbind.io/contacto/&#34;&gt;&lt;strong&gt;Contáctame para agendar una clase particular&lt;/strong&gt;&lt;/a&gt;, indicando tu experiencia con R (puede ser aprender desde cero), los temas que te interesan, y/o el proyecto que desees realizar.&lt;/del&gt;&lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://bastianolea.rbind.io/clases/clases_particulares/clases_r_particulares-featured.jpg&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;R es un lenguaje de programación enfocado en el análisis de datos y la presentación de datos y resultados, ya sea por medio de gráficos, tablas, o aplicaciones interactivas. Es un lenguaje de programación ampliamente usado en estadísticas, ciencias sociales, ciencias naturales, geografía y más.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Extrae datos desde páginas de internet haciendo web scraping en R con `{rvest}`</title>
      <link>https://bastianolea.rbind.io/blog/webscraping_rvest/</link>
      <pubDate>Fri, 27 Dec 2024 00:00:00 +0000</pubDate>
      <guid>https://bastianolea.rbind.io/blog/webscraping_rvest/</guid>
      <description>&lt;p&gt;Se denomina web scraping a un conjunto de técnicas usadas para &lt;strong&gt;obtener datos desde páginas web&lt;/strong&gt;. Esto significa poder transformar la información que vemos en distintos sitios de internet en datos que podamos utilizar.&lt;/p&gt;&#xA;&lt;p&gt;Se usa el web scraping cuando un sitio web presenta información, cifras, datos, números, o cualquier otro elemento que nos pueda servir, pero sin facilitar acceso a los datos, como sería un enlace de descarga, una API para obtener los datos, o alguna forma de exportar la información. En estos casos tenemos que recurrir al scraping para transformar lo que vemos en la web en datos analizables.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Haciendo que un loop muy largo termine sin cancelarlo</title>
      <link>https://bastianolea.rbind.io/blog/2024-12-26/</link>
      <pubDate>Thu, 26 Dec 2024 00:00:00 +0000</pubDate>
      <guid>https://bastianolea.rbind.io/blog/2024-12-26/</guid>
      <description>&lt;p&gt;Me encuentro en la tarea de tener que &#xA;&lt;a href=&#34;https://bastianolea.rbind.io/blog/2024-12-20/&#34;&gt;procesar cientos de miles de datos&lt;/a&gt;, lo cual demorará varios cientos de horas, por lo que necesito que dejar mi computador trabajando durante las noches, por varios días. La idea es que, cada noche, el computador procese de la mayor cantidad de datos posibles, los resultados se guarden, y a la siguiente noche el proceso se repita con datos nuevos, hasta que en algunos días logre procesar todos los cientos de miles de datos que necesito.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Análisis de sentimiento usando modelos de lenguaje (LLM) locales en R</title>
      <link>https://bastianolea.rbind.io/blog/analisis_sentimiento_llm/</link>
      <pubDate>Sun, 22 Dec 2024 00:00:00 +0000</pubDate>
      <guid>https://bastianolea.rbind.io/blog/analisis_sentimiento_llm/</guid>
      <description>&lt;p&gt;El análisis de sentimientos es una técnica de análisis de texto donde se aplican distintos algoritmos para poder clasificar textos de distinta longitud y complejidad en un conjunto preestablecido de categorías relacionadas al sentimiento de dichos textos. Con el &lt;em&gt;sentimiento&lt;/em&gt; de los textos nos referimos a la información subjetiva que entregan estos textos, así como los afectos que producen. Por ejemplo, &amp;ldquo;odio a mi gato&amp;rdquo; versus &amp;ldquo;mi gatita es tan tierna&amp;rdquo; son dos textos que expresan distintos niveles de negatividad/positividad, agresividad, ternura, etcétera. Las categorías del análisis del sentimiento suelen ser &lt;em&gt;positivo, neutro&lt;/em&gt; y &lt;em&gt;negativo,&lt;/em&gt; u otras más complejas, como agrado (agradable/desagradable), activación (activo/pasivo), entre otros.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Novedades: app de temperaturas extremas, actualizaciones de otras apps</title>
      <link>https://bastianolea.rbind.io/blog/2024-12-21/</link>
      <pubDate>Sat, 21 Dec 2024 00:00:00 +0000</pubDate>
      <guid>https://bastianolea.rbind.io/blog/2024-12-21/</guid>
      <description>&lt;p&gt;Resumen de las actualizaciones recientes de mis trabajos. Recientemente lancé un &#xA;&lt;a href=&#34;https://bastianolea.rbind.io/apps/temperaturas_chile/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;visualizador de temperaturas extremas de Chile&lt;/a&gt;, que permite ver gráficamente los efectos del calentamiento global medidas por las estaciones meteorológicas del país. Además, actualicé los datos del &#xA;&lt;a href=&#34;https://bastianolea.rbind.io/apps/delincuencia_chile/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;visualizador de delincuencia&lt;/a&gt;, que ahora tiene datos hasta septiembre de 2024, y también del &#xA;&lt;a href=&#34;https://bastianolea.rbind.io/apps/femicidios_chile/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;visualizador de femicidios&lt;/a&gt;, que también ahora tiene datos hasta la fecha.&lt;/p&gt;&#xA;&lt;p&gt;En paralelo, otra aplicación que se actualiza frecuentemente es la de &#xA;&lt;a href=&#34;https://bastianolea.rbind.io/apps/prensa_chile/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;análisis de prensa&lt;/a&gt;, que se actualiza todos los lunes o martes de la semana con las noticias hasta el domingo anterior; es decir, muestra los datos de la última semana completa hacia atrás (esto porque el visualizador es de datos semanales, no diarios, entonces tienen que estar terminadas las semanas para poder incluirlas en el análisis, de lo contrario las semanas aparecerían con menos datos).&lt;/p&gt;</description>
    </item>
    <item>
      <title>Procesando datos de texto en masa usando modelos de lenguaje (LLM)</title>
      <link>https://bastianolea.rbind.io/blog/2024-12-20/</link>
      <pubDate>Fri, 20 Dec 2024 00:00:00 +0000</pubDate>
      <guid>https://bastianolea.rbind.io/blog/2024-12-20/</guid>
      <description>&lt;p&gt;Anoche dejé el computador procesando 5000 noticias por 8 horas usando un modelo de lenguaje (LLM) local en R para obtener clasificación, resumen y sentimiento de cada texto.&lt;/p&gt;&#xA;&lt;p&gt;Esto porque tengo una &#xA;&lt;a href=&#34;https://github.com/bastianolea/prensa_chile&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;base de datos de más de 600 mil noticias chilenas&lt;/a&gt;, con su texto completo, y quiero empezar a sacarle más provecho. Por ejemplo, saber si noticias que hablan de ciertos temas son positivas o negativas (sentimiento), o simplemente clasificar de manera automatizada las noticias para separar las de política y economía de las de deportes y farándula.&lt;/p&gt;</description>
    </item>
    <item>
      <title>App: Temperaturas extremas en Chile</title>
      <link>https://bastianolea.rbind.io/blog/app_temperaturas_chile/</link>
      <pubDate>Mon, 16 Dec 2024 00:00:00 +0000</pubDate>
      <guid>https://bastianolea.rbind.io/blog/app_temperaturas_chile/</guid>
      <description>&lt;p&gt;&#xA;&lt;a href=&#34;%28https://bastianoleah.shinyapps.io/temperaturas_chile/%29&#34;&gt;Visualizador de datos de temperaturas extremas en el país.&lt;/a&gt; Permite consultar rápidamente datos históricos para obtener gráficos que revelan los cambios en temperaturas a través del tiempo en nuestro país. El objetivo es visibilizar los efectos del cambio climático por medio de los datos.&lt;/p&gt;&#xA;&lt;p&gt;En esta plataforma puedes visualizar datos históricos sobre temperaturas extremas del país, cuyo objetivo es visibilizar los efectos del cambio climático por medio de los datos.&lt;/p&gt;&#xA;&lt;p&gt;Los datos se obtienen desde el Portal de Datos Abiertos del Estado de Chile mediante web scrapping. El proyecto unifica todas las fuentes de datos separadas en una sola base de datos de temperaturas, los cuales son utilizados en la plataforma de visualización interactiva.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Crea tu propio asistente de programación en R con inteligencia artificial usando el paquete {pal}</title>
      <link>https://bastianolea.rbind.io/blog/pal_asistentes_llm/</link>
      <pubDate>Tue, 10 Dec 2024 00:00:00 +0000</pubDate>
      <guid>https://bastianolea.rbind.io/blog/pal_asistentes_llm/</guid>
      <description>&lt;div style=&#34;display: flex; align-items: center; gap: 15px; padding: 14px; &#xA;            background-color: #493365;&#xA;            border-radius: 6px;&#xA;            margin: 20px 40px 20px 40px;&#34;&gt;&#xA;  &#xA;  &lt;div style=&#34;flex-shrink: 0;&#34;&gt;&#xA;    &lt;i class=&#34;fas fa-triangle-exclamation&#34; style=&#34;font-size: 130%; margin-left: 2px; opacity: 1; color: #EAD2FA;&#34;&gt;&lt;/i&gt;&#xA;  &lt;/div&gt;&#xA;  &#xA;  &lt;aside style = &#34;font-size: 90%; color: #EAD2FA;&#34;&gt;&#xA;    ⚠️ este post está desactualizado, ya que &#xA;&lt;a href=&#34;https://bastianolea.rbind.io/blog/gander/&#34;&gt;es preferible usar el asistente &lt;code&gt;{gander}&lt;/code&gt;&lt;/a&gt;&#xA;  &lt;/aside&gt;&#xA;  &#xA;&lt;/div&gt;&#xA;&lt;p&gt;El paquete &#xA;&lt;a href=&#34;https://simonpcouch.github.io/pal/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;&lt;code&gt;{pal}&lt;/code&gt;&lt;/a&gt; te permite crear &lt;em&gt;asistentes&lt;/em&gt; para programar en R, potenciados por modelos de lenguaje (LLM). La utilidad de estos asistentes es que pueden ayudarte a realizar tareas rápidamente a partir de tu código de R, o incluso a partir de un texto que describa lo que quieres hacer.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Aplicando una regresión lineal en la vida diaria: predecir kilómetros por recorrer en bicicleta</title>
      <link>https://bastianolea.rbind.io/blog/regresion_ciclismo/</link>
      <pubDate>Tue, 03 Dec 2024 00:00:00 +0000</pubDate>
      <guid>https://bastianolea.rbind.io/blog/regresion_ciclismo/</guid>
      <description>&lt;p&gt;No soy una persona muy cercana a la estadística, pero el día de hoy por primera vez se me ocurrió aplicar una regresión lineal para responder una pregunta de mi vida cotidiana.&lt;/p&gt;&#xA;&lt;p&gt;Resulta que un compañero del ultraciclismo, el &#xA;&lt;a href=&#34;https://www.instagram.com/aenederrese/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;destacado ciclista Andrés Arias&lt;/a&gt;, preguntó en su Instagram si alguien podía predecir cuántos kilómetros va a recorrer este 2024 durante el desafío &#xA;&lt;a href=&#34;https://content.rapha.cc/us/en/story/festive500&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Rapha Festive 500&lt;/a&gt;, un desafío del que participamos muchos ciclistas, que consiste en recorrer 500 km en bicicleta entre el 24 y el 31 de diciembre&lt;sup id=&#34;fnref:1&#34;&gt;&lt;a href=&#34;#fn:1&#34; class=&#34;footnote-ref&#34; role=&#34;doc-noteref&#34;&gt;1&lt;/a&gt;&lt;/sup&gt;.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Portafolio de trabajos previos en R</title>
      <link>https://bastianolea.rbind.io/blog/portafolio_trabajos_r/</link>
      <pubDate>Tue, 26 Nov 2024 00:00:00 +0000</pubDate>
      <guid>https://bastianolea.rbind.io/blog/portafolio_trabajos_r/</guid>
      <description>&lt;p&gt;En esta página mantengo muestras de algunos proyectos que he realizado como analista de datos y desarrollador de R, y que consisten principalmente en aplicaciones web para la visualización y exploración de datos usando el &#xA;&lt;a href=&#34;https://bastianolea.rbind.io/blog/r_introduccion/&#34;&gt;lenguaje de programación R&lt;/a&gt;, la &#xA;&lt;a href=&#34;https://bastianolea.rbind.io/tags/dplyr/&#34;&gt;suite de paquetes para ciencia de datos Tidyverse&lt;/a&gt;, y el paquete de &#xA;&lt;a href=&#34;https://bastianolea.rbind.io/tags/shiny/&#34;&gt;desarrollo de aplicaciones web Shiny&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;p&gt;Todo lo descrito ha sido programado íntegramente por mi, como parte de distintos equipos de trabajo.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Crea un mapa de Chile y visualiza datos comunales y regionales con mapas en R</title>
      <link>https://bastianolea.rbind.io/blog/tutorial_mapa_chile/</link>
      <pubDate>Mon, 25 Nov 2024 00:00:00 +0000</pubDate>
      <guid>https://bastianolea.rbind.io/blog/tutorial_mapa_chile/</guid>
      <description>&lt;div style = &#34;margin-left: -16px;&#34;&gt;&#xA;  &#xA;  &lt;details closed id=&#34;PageTableOfContents&#34;&gt;&#xA;    &lt;summary&gt;&#xA;      &lt;h2 class=&#34;mv0 f5 fw7 ttu tracked dib&#34; style = &#34;margin-left: 6px; font-size: 120%;&#34;&gt;Índice&lt;/h2&gt;&#xA;      &lt;/summary&gt;&#xA;    &lt;div class=&#34;pl2 pr0 mh0&#34; style = &#34;font-size: 90%; margin-top: -8px; margin-left: 16px; margin-bottom: 32px;&#34;&gt;&#xA;    &lt;nav id=&#34;TableOfContents&#34;&gt;&#xA;  &lt;ul&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;#mapa-de-chile-por-comunas&#34;&gt;Mapa de Chile por comunas&lt;/a&gt;&lt;/li&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;#mapa-regional-de-chile&#34;&gt;Mapa regional de Chile&lt;/a&gt;&lt;/li&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;#visualizar-datos-en-el-mapa&#34;&gt;Visualizar datos en el mapa&lt;/a&gt;&#xA;      &lt;ul&gt;&#xA;        &lt;li&gt;&lt;a href=&#34;#datos-comunales&#34;&gt;Datos comunales&lt;/a&gt;&lt;/li&gt;&#xA;        &lt;li&gt;&lt;a href=&#34;#datos-regionales&#34;&gt;Datos regionales&lt;/a&gt;&lt;/li&gt;&#xA;      &lt;/ul&gt;&#xA;    &lt;/li&gt;&#xA;  &lt;/ul&gt;&#xA;&lt;/nav&gt;&#xA;    &lt;/div&gt;&#xA;  &lt;/details&gt;&#xA;  &#xA;&lt;/div&gt;&#xA;&lt;p&gt;Visualizar datos geográficamente es una herramienta de comunicación y análisis de datos muy potente. En este tutorial te explico cómo obtener mapas comunales y regionales de Chile en R, y cómo crear un gráficos que visualizan variables numéricas en las comunas y regiones del país. En pocos pasos puedes transformar tus datos territoriales en visualizaciones mucho más densas e informativas.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Desarrollo de aplicaciones web interactivas con R y Shiny (2a versión)</title>
      <link>https://bastianolea.rbind.io/clases/spatiallab_shiny_2/</link>
      <pubDate>Thu, 21 Nov 2024 19:00:00 +0000</pubDate>
      <guid>https://bastianolea.rbind.io/clases/spatiallab_shiny_2/</guid>
      <description>&lt;p&gt;&lt;img src=&#34;https://bastianolea.rbind.io/clases/spatiallab_shiny_2/curso_desarrollo_apps_2_1-featured.jpeg&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;Debido al gran interés, se realizará una segunda versión del curso Desarrollo de aplicaciones web interactivas usando R y Shiny dictado por Bastián Olea Herrera, Magíster en Sociología.  [SÓLO 25 CUPOS]&lt;br&gt;&#xA;El curso consta de 8 horas cronológicas, divididas en cuatro sesiones de dos horas de duración. Todos los jueves a las 19:00 hrs (GMT-3), desde el 21 de noviembre hasta el 12 de diciembre.&lt;/p&gt;&#xA;&lt;p&gt;Este curso es ideal para aquellas personas que busquen generar aplicaciones interactivas en su red de trabajo y sea accesible al público.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Crea tablas atractivas y personalizables en R con `{gt}`</title>
      <link>https://bastianolea.rbind.io/blog/tablas_gt/</link>
      <pubDate>Tue, 19 Nov 2024 00:00:00 +0000</pubDate>
      <guid>https://bastianolea.rbind.io/blog/tablas_gt/</guid>
      <description>&lt;p&gt;&#xA;&lt;a href=&#34;https://gt.rstudio.com&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;El paquete de R &lt;code&gt;{gt}&lt;/code&gt;&lt;/a&gt; (llamado así por generar &lt;em&gt;great tables&lt;/em&gt;) permite producir tablas atractivas con R para presentar tus datos. Sus cualidades principales son que produce &lt;strong&gt;resultados atractivos con muy pocas líneas de código&lt;/strong&gt;, pero al mismo tiempo ofrece una &lt;strong&gt;alta capacidad de personalización&lt;/strong&gt;, teniendo opciones para personalizar prácticamente todos los aspectos de la tabla.&lt;/p&gt;&#xA;&lt;p&gt;Otro beneficio de usar este paquete es que contiene funciones que hacen muy fácil darle el &lt;strong&gt;formato correcto a las variables numéricas,&lt;/strong&gt; como porcentajes, números grandes, cifras en dinero, etc., Y además, ofrece funciones para darle estilos personalizados a las columnas o celdas de tu tabla de forma programática. Esto permite generar ciertas reglas para que las &lt;strong&gt;celdas cambien de colores dependiendo de su valor&lt;/strong&gt;, ciertas cifras &lt;strong&gt;cambian su tipo de letra bajo determinadas circunstancias&lt;/strong&gt;, y mucho más.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Contar días hábiles entre dos fechas en R</title>
      <link>https://bastianolea.rbind.io/blog/contar_dias_habiles/</link>
      <pubDate>Wed, 13 Nov 2024 00:00:00 +0000</pubDate>
      <guid>https://bastianolea.rbind.io/blog/contar_dias_habiles/</guid>
      <description>&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-r&#34; data-lang=&#34;r&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nf&#34;&gt;library&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;dplyr&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt; &lt;span class=&#34;c1&#34;&gt;# manipulación de datos&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nf&#34;&gt;library&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;lubridate&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt; &lt;span class=&#34;c1&#34;&gt;# trabajar con fechas&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nf&#34;&gt;library&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;RQuantLib&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt; &lt;span class=&#34;c1&#34;&gt;# paquete con calendarios&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nf&#34;&gt;library&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;bizdays&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt; &lt;span class=&#34;c1&#34;&gt;# paquete para contar días hábiles&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Hoy se me planteó un pequeño desafío que no había tenido que hacer antes. Tenía que contar la cantidad de días entre dos fechas.&lt;/p&gt;&#xA;&lt;p&gt;Esto no es particularmente complejo, de hecho es demasiado fácil:&lt;/p&gt;&#xA;&#xA;&#xA;&#xA;&#xA;&lt;h3 id=&#34;contar-la-cantidad-de-días-entre-dos-fechas&#34;&gt;Contar la cantidad de días entre dos fechas&#xA;  &lt;a href=&#34;#contar-la-cantidad-de-d%c3%adas-entre-dos-fechas&#34;&gt;&lt;svg class=&#34;anchor-symbol&#34; aria-hidden=&#34;true&#34; height=&#34;26&#34; width=&#34;26&#34; viewBox=&#34;0 0 22 22&#34; xmlns=&#34;http://www.w3.org/2000/svg&#34;&gt;&#xA;      &lt;path d=&#34;M0 0h24v24H0z&#34; fill=&#34;currentColor&#34;&gt;&lt;/path&gt;&#xA;      &lt;path d=&#34;M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76.0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71.0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71.0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76.0 5-2.24 5-5s-2.24-5-5-5z&#34;&gt;&lt;/path&gt;&#xA;    &lt;/svg&gt;&lt;/a&gt;&#xA;&lt;/h3&gt;&#xA;&lt;p&gt;Primero definimos las dos fechas:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Tips para limpieza de datos en R</title>
      <link>https://bastianolea.rbind.io/blog/limpieza_tips/</link>
      <pubDate>Wed, 13 Nov 2024 00:00:00 +0000</pubDate>
      <guid>https://bastianolea.rbind.io/blog/limpieza_tips/</guid>
      <description>&lt;p&gt;En este post dejo algunos de los paquetes y funciones que uso frecuentemente al momento de limpiar datos en R. Voy a ir actualizando este post por si se me van ocurriendo más.&lt;/p&gt;&#xA;&lt;div style = &#34;max-width: 220px&#34;&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-r&#34; data-lang=&#34;r&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nf&#34;&gt;library&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;janitor&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nf&#34;&gt;library&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;stringr&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nf&#34;&gt;library&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;dplyr&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nf&#34;&gt;library&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;lubridate&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#xA;&#xA;&#xA;&#xA;&#xA;&lt;h3 id=&#34;limpiar-nombres-de-columnas&#34;&gt;Limpiar nombres de columnas&#xA;  &lt;a href=&#34;#limpiar-nombres-de-columnas&#34;&gt;&lt;svg class=&#34;anchor-symbol&#34; aria-hidden=&#34;true&#34; height=&#34;26&#34; width=&#34;26&#34; viewBox=&#34;0 0 22 22&#34; xmlns=&#34;http://www.w3.org/2000/svg&#34;&gt;&#xA;      &lt;path d=&#34;M0 0h24v24H0z&#34; fill=&#34;currentColor&#34;&gt;&lt;/path&gt;&#xA;      &lt;path d=&#34;M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76.0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71.0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71.0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76.0 5-2.24 5-5s-2.24-5-5-5z&#34;&gt;&lt;/path&gt;&#xA;    &lt;/svg&gt;&lt;/a&gt;&#xA;&lt;/h3&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-r&#34; data-lang=&#34;r&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;janitor&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;::&lt;/span&gt;&lt;span class=&#34;nf&#34;&gt;clean_names&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;()&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Como su nombre lo indica, esta función cambia los nombres de las variables o columnas para estandarizar la forma en que están escritas: todo en minúsculas, sin espacios, sin símbolos, y las palabras separadas con guión bajo. Esto facilita mucho el trabajo con datos, ya que minimiza las probabilidades de qué te equivoques al escribir el nombre de una columna. Personalmente siempre ocupo esta función al momento de cargar datos, sobre todo si estos datos vienen desde Excel. Lo único malo de &lt;code&gt;clean_names()&lt;/code&gt; es que esta función también cambia las eñes por enes.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Cargar y explorar datos de la encuesta Casen en R, usando factor de expansión</title>
      <link>https://bastianolea.rbind.io/blog/casen_introduccion/</link>
      <pubDate>Sun, 10 Nov 2024 00:00:00 +0000</pubDate>
      <guid>https://bastianolea.rbind.io/blog/casen_introduccion/</guid>
      <description>&lt;p&gt;Este post ejemplifica tres formas de cargar y explorar los datos de la encuesta Casen 2022, la &#xA;&lt;a href=&#34;https://observatorio.ministeriodesarrollosocial.gob.cl/encuesta-casen-2022&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Encuesta de caracterización socioeconómica nacional&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;p&gt;Veremos cómo obtener resultados de la Casen a nivel de país, región y comuna, usando dos formas de aplicar el factor de expansión. El factor de expansión es necesario de aplicar para transformar los resultados de la muestra de la encuesta a cifras que tienen representación a los distintos niveles de agrupación geográfica.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Convertir un script de R con comentarios a un documento Quarto</title>
      <link>https://bastianolea.rbind.io/blog/convertr/</link>
      <pubDate>Sun, 10 Nov 2024 00:00:00 +0000</pubDate>
      <guid>https://bastianolea.rbind.io/blog/convertr/</guid>
      <description>&lt;p&gt;Cuando trabajo con R, siempre intento dejar comentarios sobre de las cosas que estoy haciendo, tanto antes como después de cada bloque de código. Así, le hago un favor a mi &lt;em&gt;yo&lt;/em&gt; del futuro, dejando una cierta documentación de las cosas que estuve haciendo, los objetivos que tenía, y otras aclaraciones sobre los procesos realizados.&lt;/p&gt;&#xA;&lt;p&gt;A esta combinación de bloques de código y párrafos de textos se le llama &#xA;&lt;a href=&#34;https://es.wikipedia.org/wiki/Programaci%c3%b3n_literaria&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;programación literaria&lt;/a&gt;, o &lt;em&gt;literate programming.&lt;/em&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>¿Arte? Nubes aleatorias en `{ggplot2}`</title>
      <link>https://bastianolea.rbind.io/blog/ggplot_nubes/</link>
      <pubDate>Fri, 08 Nov 2024 00:00:00 +0000</pubDate>
      <guid>https://bastianolea.rbind.io/blog/ggplot_nubes/</guid>
      <description>&lt;p&gt;Probando un poco de arte generativo en &lt;code&gt;{ggplot2}&lt;/code&gt;. La idea era generar gráficos que parecieran nubes o humo.&lt;/p&gt;&#xA;&lt;p&gt;Tomé el dataframe &lt;code&gt;iris&lt;/code&gt;, configuré algunos elementos aleatorios en el gráfico, le agregué un efecto de desenfoque a los puntos, y luego hice un loop que genera 9 gráficos con parámetros aleatorios.&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-r&#34; data-lang=&#34;r&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nf&#34;&gt;library&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;dplyr&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nf&#34;&gt;library&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;glue&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nf&#34;&gt;library&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;ggplot2&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nf&#34;&gt;library&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;ggfx&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nf&#34;&gt;library&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;purrr&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Partimos con un gráfico base usando los datos de &lt;code&gt;iris&lt;/code&gt;, donde los puntos crecen en base a una variable, y también aumentan su transparencia en la misma medida que aumentan su tamaño. De esta forma, los puntos más grandes son también menos visibles.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Post sobre mi nuevo blog (este mismo)</title>
      <link>https://bastianolea.rbind.io/blog/hugo_blog_nuevo/</link>
      <pubDate>Thu, 07 Nov 2024 00:00:00 +0000</pubDate>
      <guid>https://bastianolea.rbind.io/blog/hugo_blog_nuevo/</guid>
      <description>&lt;p&gt;Éste es un post sobre este mismo blog. Quería compartir el proceso de creación del blog, porque me pareció interesante y entretenido.&lt;/p&gt;&#xA;&lt;p&gt;Lo creé usando &#xA;&lt;a href=&#34;https://gohugo.io&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Hugo&lt;/a&gt;, un generador de sitios web estáticos de código abierto y gratuito. Hugo se puede usar a través de R usando &lt;code&gt;{blogdown}&lt;/code&gt; y el tema &#xA;&lt;a href=&#34;https://hugo-apero.netlify.app&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Hugo Apéro&lt;/a&gt;, creado por &#xA;&lt;a href=&#34;https://www.apreshill.com&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Alison Hill&lt;/a&gt;, y así puedes crear páginas y publicaciones usando Quarto o RMarkdown. De ese modo resulta muy fácil integrar las cosas que hagas con R en tu sitio, compartiendo el código en los posts.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Tutorial: publicar una app Shiny en Digital Ocean</title>
      <link>https://bastianolea.rbind.io/blog/tutorial_digitalocean/</link>
      <pubDate>Wed, 06 Nov 2024 00:00:00 +0000</pubDate>
      <guid>https://bastianolea.rbind.io/blog/tutorial_digitalocean/</guid>
      <description>&lt;div style=&#34;display: flex; align-items: center; gap: 15px; padding: 14px; &#xA;            background-color: #493365;&#xA;            border-radius: 6px;&#xA;            margin: 20px 40px 20px 40px;&#34;&gt;&#xA;  &#xA;  &lt;div style=&#34;flex-shrink: 0;&#34;&gt;&#xA;    &lt;i class=&#34;fas fa-triangle-exclamation&#34; style=&#34;font-size: 130%; margin-left: 2px; opacity: 1; color: #EAD2FA;&#34;&gt;&lt;/i&gt;&#xA;  &lt;/div&gt;&#xA;  &#xA;  &lt;aside style = &#34;font-size: 90%; color: #EAD2FA;&#34;&gt;&#xA;    ⚠️ Este post está en construcción ⚠️&#xA;  &lt;/aside&gt;&#xA;  &#xA;&lt;/div&gt;&#xA;&lt;p&gt;En este tutorial encuentras instrucciones paso a paso para crear un droplet (servidor privado) en Digital Ocean, en el cual puedes subir aplicaciones Shiny, ejecutar RStudio, dejar automatizados procesos recurrentes de análisis de datos o web scraping, y más.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Comparar el rendimiento expresiones en R</title>
      <link>https://bastianolea.rbind.io/blog/benchmark_ejemplo/</link>
      <pubDate>Tue, 05 Nov 2024 00:00:00 +0000</pubDate>
      <guid>https://bastianolea.rbind.io/blog/benchmark_ejemplo/</guid>
      <description>&lt;p&gt;Al programar algo, siempre existen varias formas de lograr un mismo objetivo. Un criterio para elegir una forma por sobre otra puede ser el rendimiento: si hay dos formas de hacer algo, elegir la forma que se ejecute más rápido.&lt;sup id=&#34;fnref:1&#34;&gt;&lt;a href=&#34;#fn:1&#34; class=&#34;footnote-ref&#34; role=&#34;doc-noteref&#34;&gt;1&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;&#xA;&lt;p&gt;Para comparar el rendimiento de distintas expresiones en R, realizamos un &lt;em&gt;benchmark,&lt;/em&gt; al cual le entregamos las expresiones que queremos comparar, y nos entregará un detalle de su velocidad de ejecución, consumo de memoria, y otros.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Scraping de datos del Sistema de Información del Mercado Laboral</title>
      <link>https://bastianolea.rbind.io/blog/simel_scraping/</link>
      <pubDate>Fri, 01 Nov 2024 00:00:00 +0000</pubDate>
      <guid>https://bastianolea.rbind.io/blog/simel_scraping/</guid>
      <description>&lt;p&gt;El &#xA;&lt;a href=&#34;https://www.simel.gob.cl&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Sistema de Información del Mercado Laboral (SIMEL)&lt;/a&gt; es una plataforma virtual desarrollada por las instituciones que componen la Mesa para la Coordinación de las Estadísticas del Trabajo 1 con el apoyo técnico de la Organización Internacional del Trabajo (OIT).&lt;/p&gt;&#xA;&lt;p&gt;El SIMEL permite obtener información objetiva y actualizada sobre el mercado del trabajo, la que estará disponible para investigadores, tomadores de decisiones y la ciudadanía en general.&lt;/p&gt;&#xA;&lt;hr&gt;&#xA;&lt;p&gt;&#xA;&lt;a href=&#34;https://github.com/bastianolea/simel_scraping&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Repositorio&lt;/a&gt; que permite descargar los datos estadísticos de SIMEL con un solo script, obteniendo cada conjunto de datos en archivos &lt;code&gt;csv&lt;/code&gt; individuales.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Visualización y scraping de resultados en vivo de las elecciones municipales 2024</title>
      <link>https://bastianolea.rbind.io/blog/elecciones_municipales_2024/</link>
      <pubDate>Wed, 30 Oct 2024 00:00:00 +0000</pubDate>
      <guid>https://bastianolea.rbind.io/blog/elecciones_municipales_2024/</guid>
      <description>&lt;p&gt;&lt;img src=&#34;https://bastianolea.rbind.io/blog/elecciones_municipales_2024/servel_resultados_multi_featured.png&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;Con motivo de las elecciones municipales, estuve generando algunas visualizaciones ”en tiempo real” de los resultados de las elecciones de alcaldías. Los datos de conteo de votos los fui obteniendo minuto a minuto mediante web scraping con &lt;code&gt;{RSelenium}&lt;/code&gt;, que permite programar un navegador web para que interactúe con un sitio como si fuera humano. Entonces, el navegador robot (marioneta, le llaman) iba apretando todos los botones, sin intervención de mi parte, para encontrar y copiar los resultados de cada comuna del país.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Usando inteligencia artificial (LLM) para analizar datos de texto en R</title>
      <link>https://bastianolea.rbind.io/blog/inteligencia_artificial_mall/</link>
      <pubDate>Tue, 29 Oct 2024 00:00:00 +0000</pubDate>
      <guid>https://bastianolea.rbind.io/blog/inteligencia_artificial_mall/</guid>
      <description>&lt;p&gt;&#xA;&lt;a href=&#34;https://mlverse.github.io/mall/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;El paquete &lt;code&gt;{mall}&lt;/code&gt;&lt;/a&gt; facilita el uso de un LLM &lt;em&gt;(large language model)&lt;/em&gt; o modelo de lenguaje de gran tamaño para analizar texto con IA en un &lt;em&gt;dataframe.&lt;/em&gt;&lt;/p&gt;&#xA;&lt;a href=&#34;r_ia_mall_featured.png&#34; target=&#34;_blank&#34;&gt;&#xA;&#xA;  &lt;img src=&#34;r_ia_mall_featured.png&#34; style=&#34;border-radius: 5px; width: 80%; max-width: 700px; display: block; margin: auto; margin-bottom: 8px; margin-top: 8px;&#34;&gt;&#xA;  &#xA;&lt;/a&gt;&#xA;&lt;p&gt;Esto significa que, para cualquier dataframe que tengamos, podemos aplicar un modelo de IA a una de sus columnas y recibir sus resultados en una columna nueva.&lt;/p&gt;&#xA;&lt;div style=&#34;display: flex; align-items: center; gap: 15px; padding: 14px; &#xA;            /*background-color: #A985C650;*/&#xA;            background-color: #DEC4F2;&#xA;            border-radius: 6px;&#xA;            margin: 20px 40px 20px 40px;&#34;&gt;&#xA;  &#xA;  &lt;div style=&#34;flex-shrink: 0;&#34;&gt;&#xA;    &lt;i class=&#34;fas fa-info-circle&#34; style=&#34;font-size: 130%; margin-left: 2px; opacity: 1; color: #9069C0;&#34;&gt;&lt;/i&gt;&#xA;  &lt;/div&gt;&#xA;  &#xA;  &lt;aside style = &#34;font-size: 90%;&#34;&gt;&#xA;    Puedes encontrar instrucciones más detalladas sobre configurar el uso de IA en R &#xA;&lt;a href=&#34;https://bastianolea.rbind.io/blog/ellmer/&#34;&gt;en esta publicación.&lt;/a&gt;&#xA;  &lt;/aside&gt;&#xA;  &#xA;&lt;/div&gt;&#xA;&lt;p&gt;Para poder hacer ésto, primero necesitamos tener un modelo LLM configurado en R. &#xA;&lt;a href=&#34;../../../blog/ellmer/&#34;&gt;Sigue las instrucciones en este tutorial&lt;/a&gt; para lograrlo.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Desarrollo de aplicaciones web interactivas con R y Shiny</title>
      <link>https://bastianolea.rbind.io/clases/spatiallab_shiny_1/</link>
      <pubDate>Wed, 16 Oct 2024 19:00:00 +0000</pubDate>
      <guid>https://bastianolea.rbind.io/clases/spatiallab_shiny_1/</guid>
      <description>&lt;p&gt;&lt;img src=&#34;https://bastianolea.rbind.io/clases/spatiallab_shiny_1/curso_desarrollo_apps_ig_1-featured.png&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;&lt;em&gt;Temario:&lt;/em&gt;&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Introducción al framework Shiny y el concepto de reactividad [16 de octubre]&lt;/li&gt;&#xA;&lt;li&gt;Primeros pasos: programación de cifras interactivas [23 de octubre]&lt;/li&gt;&#xA;&lt;li&gt;Personalizar apariencia de una aplicación web [30 de octubre]&lt;/li&gt;&#xA;&lt;li&gt;Publicación de la aplicación web para volverla accesible al público [06 de noviembre]&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://bastianolea.rbind.io/clases/spatiallab_shiny_1/curso_desarrollo_apps_linkedin_1.png&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://bastianolea.rbind.io/clases/spatiallab_shiny_1/curso_desarrollo_apps_ig_2.png&#34;&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Números romanos en R</title>
      <link>https://bastianolea.rbind.io/blog/numeros_romanos/</link>
      <pubDate>Wed, 25 Sep 2024 00:00:00 +0000</pubDate>
      <guid>https://bastianolea.rbind.io/blog/numeros_romanos/</guid>
      <description>&lt;p&gt;¿Sabías que R tiene un tipo de datos para números romanos? Yo tampoco.&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-r&#34; data-lang=&#34;r&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nf&#34;&gt;library&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;dplyr&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;regiones&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;&amp;lt;-&lt;/span&gt; &lt;span class=&#34;nf&#34;&gt;tibble&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;region&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;nf&#34;&gt;c&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s&#34;&gt;&amp;#34;I Región de Tarapacá&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;s&#34;&gt;&amp;#34;II Región de Antofagasta&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;s&#34;&gt;&amp;#34;III Región de Atacama&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;                              &lt;span class=&#34;s&#34;&gt;&amp;#34;IV Región de Coquimbo&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;s&#34;&gt;&amp;#34;IX Región de La Araucanía&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;s&#34;&gt;&amp;#34;V Región de Valparaíso&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;                              &lt;span class=&#34;s&#34;&gt;&amp;#34;VI Región del Libertador General Bernardo O&amp;#39;Higgins&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;s&#34;&gt;&amp;#34;VII Región del Maule&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;                              &lt;span class=&#34;s&#34;&gt;&amp;#34;VIII Región del Bío Bío&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;s&#34;&gt;&amp;#34;X Región de los Lagos&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;s&#34;&gt;&amp;#34;XI Región de Aysén del General Carlos Ibañez del Campo&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;                              &lt;span class=&#34;s&#34;&gt;&amp;#34;XII Región de Magallanes y la Antártica Chilena&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;s&#34;&gt;&amp;#34;XIII Región Metropolitana&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;                              &lt;span class=&#34;s&#34;&gt;&amp;#34;XIV Región Los Ríos&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;s&#34;&gt;&amp;#34;XV Región Arica y Parinacota&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;s&#34;&gt;&amp;#34;XVI Ñuble&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;))&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Si extraemos la primera palabra de la variable &lt;code&gt;region&lt;/code&gt;, obtenemos solamente el número romano.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Evitar que un loop se detenga debido a errores</title>
      <link>https://bastianolea.rbind.io/blog/evitar_errores/</link>
      <pubDate>Fri, 13 Sep 2024 00:00:00 +0000</pubDate>
      <guid>https://bastianolea.rbind.io/blog/evitar_errores/</guid>
      <description>&lt;p&gt;Usando el paquete &lt;code&gt;{purrr}&lt;/code&gt; para realizar iteraciones o &lt;em&gt;loops&lt;/em&gt; en nuestro código, vamos a probar tres escenarios ante los que un loop se detendría debido a un error, y formas de solucionarlo.&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-r&#34; data-lang=&#34;r&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nf&#34;&gt;library&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;purrr&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;números&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;&amp;lt;-&lt;/span&gt; &lt;span class=&#34;nf&#34;&gt;list&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;m&#34;&gt;1&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;m&#34;&gt;2&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;m&#34;&gt;3&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;s&#34;&gt;&amp;#34;error&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;m&#34;&gt;5&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;En el primer escenario, el loop intenta sumar &lt;code&gt;100&lt;/code&gt; a un vector de números, pero se encuentra con que uno de los números es un texto, por lo tanto la ejecución se detiene con un error:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Tutorial: Mapa en {ggplot2} con calles desde Open Street Map en R</title>
      <link>https://bastianolea.rbind.io/blog/tutorial_mapas_osm/</link>
      <pubDate>Tue, 03 Sep 2024 00:00:00 +0000</pubDate>
      <guid>https://bastianolea.rbind.io/blog/tutorial_mapas_osm/</guid>
      <description>&lt;div style = &#34;margin-left: -16px;&#34;&gt;&#xA;  &#xA;  &lt;details closed id=&#34;PageTableOfContents&#34;&gt;&#xA;    &lt;summary&gt;&#xA;      &lt;h2 class=&#34;mv0 f5 fw7 ttu tracked dib&#34; style = &#34;margin-left: 6px; font-size: 120%;&#34;&gt;Índice&lt;/h2&gt;&#xA;      &lt;/summary&gt;&#xA;    &lt;div class=&#34;pl2 pr0 mh0&#34; style = &#34;font-size: 90%; margin-top: -8px; margin-left: 16px; margin-bottom: 32px;&#34;&gt;&#xA;    &lt;nav id=&#34;TableOfContents&#34;&gt;&#xA;  &lt;ul&gt;&#xA;    &lt;li&gt;&#xA;      &lt;ul&gt;&#xA;        &lt;li&gt;&lt;a href=&#34;#cargar-paquetes&#34;&gt;Cargar paquetes&lt;/a&gt;&lt;/li&gt;&#xA;      &lt;/ul&gt;&#xA;    &lt;/li&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;#obtener-mapa-de-país-y-de-región&#34;&gt;Obtener mapa de país y de región&lt;/a&gt;&lt;/li&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;#obtener-datos-geográficos-desde-open-street-map&#34;&gt;Obtener datos geográficos desde Open Street Map&lt;/a&gt;&lt;/li&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;#visualizar-mapa-con-calles&#34;&gt;Visualizar mapa con calles&lt;/a&gt;&lt;/li&gt;&#xA;  &lt;/ul&gt;&#xA;&lt;/nav&gt;&#xA;    &lt;/div&gt;&#xA;  &lt;/details&gt;&#xA;  &#xA;&lt;/div&gt;&#xA;&lt;p&gt;En este tutorial crearemos un mapa de una región de Chile, y sobre el polígono geográfico aplicaremos otros elementos geográficos como calles, avenidas y carreteras, obtenidos desde Open Street Map (proveedor de mapas online abierto y comunitario).&lt;/p&gt;</description>
    </item>
    <item>
      <title>App: Análisis de prensa chilena</title>
      <link>https://bastianolea.rbind.io/blog/app_prensa_chile/</link>
      <pubDate>Thu, 08 Aug 2024 00:00:00 +0000</pubDate>
      <guid>https://bastianolea.rbind.io/blog/app_prensa_chile/</guid>
      <description>&lt;p&gt;Proyecto de ciencia de datos desarrollado en R para analizar texto de noticias chilenas. Comprende módulos para realizar web scraping de sitios web de prensa para obtener el texto de sus noticias, procesos para transformar ese texto en palabras (tokens), y procesos para analizar dicho corpus de palabras usando distintas técnicas estadísticas.&lt;/p&gt;&#xA;&lt;p&gt;Actualmente, el corpus de noticias obtenido supera las 800.000 noticias individuales, las cuales suman un total de 140 millones (!) de palabras, abarcando más de 30 fuentes periodísticas distintas.&lt;/p&gt;</description>
    </item>
    <item>
      <title>App: Estadísticas de delincuencia en Chile</title>
      <link>https://bastianolea.rbind.io/blog/app_delincuencia_chile/</link>
      <pubDate>Wed, 10 Jul 2024 00:00:00 +0000</pubDate>
      <guid>https://bastianolea.rbind.io/blog/app_delincuencia_chile/</guid>
      <description>&lt;p&gt;En este &#xA;&lt;a href=&#34;https://bastianoleah.shinyapps.io/delincuencia_chile&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;visualizador web&lt;/a&gt; se presentan gráficos con datos estadísticas delictuales entregadas por el &#xA;&lt;a href=&#34;https://cead.spd.gov.cl/estadisticas-delictuales/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Centro de Estudio y Análisis del Delito (CEAD),&lt;/a&gt; quienes a su vez obtienen los datos desde reportes de Carabineros y la Policía de Investigaciones de Chile al Ministerio del Interior y Seguridad Pública.&lt;/p&gt;&#xA;&lt;p&gt;Según el &#xA;&lt;a href=&#34;https://cead.spd.gov.cl/estadisticas-delictuales/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;CEAD,&lt;/a&gt; cada dato de delito se compone por: &lt;em&gt;denuncias formales que la ciudadanía realiza en alguna unidad policial posterior a la ocurrencia del delito, más los delitos de los que la policía toma conocimiento al efectuar una detención en flagrancia, es decir, mientras ocurre el ilícito.&lt;/em&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>App: Proyecciones de población del Censo</title>
      <link>https://bastianolea.rbind.io/blog/app_censo_proyecciones/</link>
      <pubDate>Mon, 17 Jun 2024 00:00:00 +0000</pubDate>
      <guid>https://bastianolea.rbind.io/blog/app_censo_proyecciones/</guid>
      <description>&lt;p&gt;&#xA;&lt;a href=&#34;https://bastianoleah.shinyapps.io/censo_proyecciones/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Aplicación web&lt;/a&gt; que visualiza los datos oficiales del &#xA;&lt;a href=&#34;https://www.ine.gob.cl&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Instituto Nacional de Estadísticas&lt;/a&gt; de Chile sobre &#xA;&lt;a href=&#34;https://www.ine.gob.cl/estadisticas/sociales/demografia-y-vitales/proyecciones-de-poblacion&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;proyecciones de población&lt;/a&gt;; es decir, estimaciones del crecimiento poblacional hacia el futuro, a partir de los datos obtenidos en los censos oficiales.&lt;/p&gt;&#xA;&lt;p&gt;El script &lt;code&gt;importar_poblacion_proyecciones.R&lt;/code&gt; descarga directamente el archivo Excel con las proyecciones oficiales desde el INE, para usarlo en este proyecto.&lt;/p&gt;&#xA;&#xA;&#xA;&#xA;&#xA;&lt;h2 id=&#34;datos&#34;&gt;Datos&#xA;  &lt;a href=&#34;#datos&#34;&gt;&lt;svg class=&#34;anchor-symbol&#34; aria-hidden=&#34;true&#34; height=&#34;26&#34; width=&#34;26&#34; viewBox=&#34;0 0 22 22&#34; xmlns=&#34;http://www.w3.org/2000/svg&#34;&gt;&#xA;      &lt;path d=&#34;M0 0h24v24H0z&#34; fill=&#34;currentColor&#34;&gt;&lt;/path&gt;&#xA;      &lt;path d=&#34;M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76.0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71.0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71.0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76.0 5-2.24 5-5s-2.24-5-5-5z&#34;&gt;&lt;/path&gt;&#xA;    &lt;/svg&gt;&lt;/a&gt;&#xA;&lt;/h2&gt;&#xA;&lt;p&gt;En la carpeta &lt;code&gt;datos_procesados&lt;/code&gt; se encuentran tablas de datos procesados en base a las proyecciones oficiales, incluyendo:&lt;/p&gt;</description>
    </item>
    <item>
      <title>App: Comparador de mapas comunales de Chile</title>
      <link>https://bastianolea.rbind.io/blog/app_comparador_mapas_chile/</link>
      <pubDate>Sat, 15 Jun 2024 00:00:00 +0000</pubDate>
      <guid>https://bastianolea.rbind.io/blog/app_comparador_mapas_chile/</guid>
      <description>&lt;p&gt;Aplicación web interactiva desarrollada en R. Accede a ella por &#xA;&lt;a href=&#34;https://bastianoleah.shinyapps.io/comparador_mapas_chile/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;este enlace&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;Esta &#xA;&lt;a href=&#34;https://bastianoleah.shinyapps.io/comparador_mapas_chile/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;aplicación web&lt;/a&gt; permite visualizar interactivamente las &lt;strong&gt;diferencias y desigualdades territoriales&lt;/strong&gt; de Chile a través de mapas.&lt;/p&gt;&#xA;&lt;p&gt;Reúne más de &lt;strong&gt;170 variables urbanísticas, sociales y económicas&lt;/strong&gt; a nivel comunal, para todas las comunas del país, permitiendo al usuario elegir dos variables simultáneamente para compararlas visualmente por medio de dos mapas regionales.&lt;/p&gt;&#xA;&lt;p&gt;El visualizador entrega la posibilidad de poner a prueba relaciones entre variables tan distintas como áreas verdes y puntajes de pruebas de selección universitaria, nivel de ingresos y tasa de delitos, participación electoral y situación de las viviendas, etc., dejando al usuario la tarea de explicar los fenómenos que pueden surgir.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Tutorial: Mapa de la zona urbana de la Región Metropolitana de Santiago en R</title>
      <link>https://bastianolea.rbind.io/blog/tutorial_mapa_urbano/</link>
      <pubDate>Wed, 12 Jun 2024 00:00:00 +0000</pubDate>
      <guid>https://bastianolea.rbind.io/blog/tutorial_mapa_urbano/</guid>
      <description>&lt;p&gt;Este tutorial de R te explicará paso a paso a cómo obtener mapas de todo Chile usando el paquete &#xA;&lt;a href=&#34;https://github.com/pachadotdev/chilemapas&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;&lt;code&gt;{chilemapas}&lt;/code&gt; desarrollado por Mauricio Vargas&lt;/a&gt;, y hacer gráficos con estos mapas usando &lt;code&gt;{ggplot2}&lt;/code&gt;.&lt;/p&gt;&#xA;&lt;p&gt;En la primera parte veremos cómo &lt;strong&gt;obtener los mapas&lt;/strong&gt; y cómo &lt;strong&gt;visualizar datos comunales&lt;/strong&gt; usando mapas en R. Si necesitas una guía sobre mapas en R, &#xA;&lt;a href=&#34;../../../blog/mapas_sf/&#34;&gt;revisa este post.&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;Luego, nos enfrentaremos a un problema común que se tiene al graficar un mapa de la Región Metropolitana de Santiago, que tiene que ver con la diferencia entre los límites comunales reales de cada comuna y los &lt;strong&gt;límites urbanos&lt;/strong&gt; de las comunas. Es la diferencia entre tener un mapa de la RM que abarque sectores rurales como Paine y que llegue hasta Argentina, o un mapa que demarque la zona urbana de Santiago, aproximadamente correspondiente a la zona que atravieza el anillo de la autopista Américo Vespucio.&lt;/p&gt;</description>
    </item>
    <item>
      <title>App: Indicadores económicos de Chile</title>
      <link>https://bastianolea.rbind.io/blog/app_economia_chile/</link>
      <pubDate>Sat, 25 May 2024 00:00:00 +0000</pubDate>
      <guid>https://bastianolea.rbind.io/blog/app_economia_chile/</guid>
      <description>&lt;p&gt;&#xA;&lt;a href=&#34;https://bastianoleah.shinyapps.io/economia_chile/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Aplicación web&lt;/a&gt; tipo dashboard que busca presentar de forma sencilla y compacta los principales indicadores de la economía chilena.&lt;/p&gt;&#xA;&lt;p&gt;Los datos de este repositorio se actualizan automáticamente cada 12 horas por medio de GitHub Actions. Estos datos se obtienen realizando web scraping al &#xA;&lt;a href=&#34;https://www.bcentral.cl/web/banco-central&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;sitio web del Banco Central.&lt;/a&gt; usando el &#xA;&lt;a href=&#34;https://rvest.tidyverse.org&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;paquete de R &lt;code&gt;{rvest}&lt;/code&gt;&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&#xA;&#xA;&#xA;&lt;h3 id=&#34;indicadores-disponibles&#34;&gt;Indicadores disponibles&#xA;  &lt;a href=&#34;#indicadores-disponibles&#34;&gt;&lt;svg class=&#34;anchor-symbol&#34; aria-hidden=&#34;true&#34; height=&#34;26&#34; width=&#34;26&#34; viewBox=&#34;0 0 22 22&#34; xmlns=&#34;http://www.w3.org/2000/svg&#34;&gt;&#xA;      &lt;path d=&#34;M0 0h24v24H0z&#34; fill=&#34;currentColor&#34;&gt;&lt;/path&gt;&#xA;      &lt;path d=&#34;M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76.0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71.0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71.0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76.0 5-2.24 5-5s-2.24-5-5-5z&#34;&gt;&lt;/path&gt;&#xA;    &lt;/svg&gt;&lt;/a&gt;&#xA;&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;PIB&lt;/li&gt;&#xA;&lt;li&gt;IMACEC&lt;/li&gt;&#xA;&lt;li&gt;IPC&lt;/li&gt;&#xA;&lt;li&gt;IPSA&lt;/li&gt;&#xA;&lt;li&gt;UF&lt;/li&gt;&#xA;&lt;li&gt;Tasa de desempleo&lt;/li&gt;&#xA;&lt;li&gt;Índice de remuneraciones reales&lt;/li&gt;&#xA;&lt;li&gt;Inversión extranjera &lt;strong&gt;(nuevo)&lt;/strong&gt;&lt;/li&gt;&#xA;&lt;li&gt;Precio del cobre &lt;strong&gt;(nuevo)&lt;/strong&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://bastianolea.rbind.io/blog/app_economia_chile/otros/pantallazos/pantallazo1.png&#34;&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>App: Corrupción en Chile</title>
      <link>https://bastianolea.rbind.io/blog/app_corrupcion_chile/</link>
      <pubDate>Mon, 20 May 2024 00:00:00 +0000</pubDate>
      <guid>https://bastianolea.rbind.io/blog/app_corrupcion_chile/</guid>
      <description>&lt;p&gt;&#xA;&lt;a href=&#34;https://bastianoleah.shinyapps.io/corrupcion_chile/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Aplicación web&lt;/a&gt; que permite visualizar datos sobre los casos más relevantes de corrupción en Chile.&lt;/p&gt;&#xA;&lt;p&gt;Este repositorio compila datos abiertos sobre este tema país, y produce gráficos que permiten analizar cómo y desde dónde ha operado la corrupción en Chile.&lt;/p&gt;&#xA;&lt;p&gt;Los casos de corrupción incluidos son aquellos donde se involucre perjuicio económico a recursos públicos, sector público, o al fisco en general.&lt;/p&gt;&#xA;&lt;p&gt;Los datos son recopilados manualmente, y se obtienen desde fuentes periodísticas. El criterio de inclusión para cada caso es que existan fuentes confiables de prensa que indiquen la existencia de una investigación, evidencia plausible de posible corrupción, o bien una sentencia o condena.&lt;/p&gt;</description>
    </item>
    <item>
      <title>App: Millonarios de Chile</title>
      <link>https://bastianolea.rbind.io/blog/app_millonarios_chile/</link>
      <pubDate>Wed, 13 Mar 2024 00:00:00 +0000</pubDate>
      <guid>https://bastianolea.rbind.io/blog/app_millonarios_chile/</guid>
      <description>&lt;p&gt;&#xA;&lt;a href=&#34;https://bastianoleah.shinyapps.io/millonarios_chile/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Aplicación web interactiva&lt;/a&gt; sobre las fortunas de los empresarios más ricos de Chile.&lt;/p&gt;&#xA;&lt;p&gt;En toda economía de mercado existen personajes que acaparan vastas riquezas, ya sea por el éxito de sus negocios, por poseer recursos clave, haber recibido herencias o ser sucesores de otros magnates, o bien, por haber ejercido estrategias &lt;em&gt;cuestionables&lt;/em&gt; para el enriquecimiento propio.&lt;/p&gt;&#xA;&lt;p&gt;Con este visualizador puedes poner en perspectiva las fortunas de los millonarios mas grandes del país, comparando sus fortunas con los ingresos de los chilenos, la teletón, tu propio sueldo, y más, para así dimensionar un aspecto clave de la desigualdad en Chile y el mundo.&lt;/p&gt;</description>
    </item>
    <item>
      <title>App: Femicidios en Chile</title>
      <link>https://bastianolea.rbind.io/blog/app_femicidios_chile/</link>
      <pubDate>Sat, 24 Feb 2024 00:00:00 +0000</pubDate>
      <guid>https://bastianolea.rbind.io/blog/app_femicidios_chile/</guid>
      <description>&lt;p&gt;&#xA;&lt;a href=&#34;https://bastianoleah.shinyapps.io/femicidios_chile/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Aplicación web&lt;/a&gt; para la visualización de datos del &#xA;&lt;a href=&#34;http://www.nomasviolenciacontramujeres.cl/registro-de-femicidios/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;registro de femicidios&lt;/a&gt; realizado por la &#xA;&lt;a href=&#34;www.nomasviolenciacontramujeres.cl&#34;&gt;Red Chilena contra la Violencia hacia las Mujeres&lt;/a&gt; desde 2010 en adelante.&lt;/p&gt;&#xA;&lt;p&gt;Este proyecto incluye scripts de R para descargar todos los datos oficiales recopilados por la Red (obteniendo los enlaces usando web scraping y descargándolos desde Google Docs), limpiarlos, y procesarlos para su visualización, además de la &#xA;&lt;a href=&#34;https://bastianoleah.shinyapps.io/femicidios_chile/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;web app de visualización, desarrollada con Shiny.&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;La georeferenciación de los datos se basa en la información de localidad o comuna, y cuando no se entrega información de comuna, se aplica la capital regional de la región indicada.&lt;/p&gt;</description>
    </item>
    <item>
      <title>App: Brechas de género Casen</title>
      <link>https://bastianolea.rbind.io/blog/app_casen_genero_brechas/</link>
      <pubDate>Wed, 31 Jan 2024 00:00:00 +0000</pubDate>
      <guid>https://bastianolea.rbind.io/blog/app_casen_genero_brechas/</guid>
      <description>&lt;p&gt;&#xA;&lt;a href=&#34;https://bastianoleah.shinyapps.io/casen_brechas_genero&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Aplicación web&lt;/a&gt; que permite visualiza variables desde la encuesta Casen 2022, explicitando las brechas de género existentes en Chile mediante un gráfico de puntos por género y región.&lt;/p&gt;&#xA;&lt;p&gt;Este visualizador permite explorar con facilidad las múltiples desigualdades de género que son medibles empíricamente utilizando los datos más recientes de la &#xA;&lt;a href=&#34;https://observatorio.ministeriodesarrollosocial.gob.cl/encuesta-casen-2022&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Encuesta de caracterización socioeconómica nacional (Casen) 2022&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;p&gt;Las variables fueron seleccionadas por el interés general que puedan tener, y no por la existencia o no de brechas de género en ellas. Si se te ocurren otras variables que incluir, &#xA;&lt;a href=&#34;https://bastianolea.rbind.io&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;puedes contactarme!&lt;/a&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>App: Comparador de ingresos Casen</title>
      <link>https://bastianolea.rbind.io/blog/app_casen_comparador_ingresos/</link>
      <pubDate>Sun, 21 Jan 2024 00:00:00 +0000</pubDate>
      <guid>https://bastianolea.rbind.io/blog/app_casen_comparador_ingresos/</guid>
      <description>&lt;p&gt;&#xA;&lt;a href=&#34;https://bastianoleah.shinyapps.io/casen_comparador_ingresos&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Aplicación web&lt;/a&gt; para generar gráficos de densidad que representan los ingresos de la población de cualquier comuna del país, o de varias comunas a la vez, para poder comparar las realidades económicas de sus habitantes.&lt;/p&gt;&#xA;&lt;p&gt;Un gráfico de densidad indica cómo se distribuye una población con respecto a una variable indicada en el eje horizontal. En este caso, el eje horizontal corresponde a una escala de ingresos, y el eje vertical es la proporción de la población.&lt;/p&gt;</description>
    </item>
    <item>
      <title>App: Relacionador de datos sociales Casen</title>
      <link>https://bastianolea.rbind.io/blog/app_casen_relacionador/</link>
      <pubDate>Sun, 14 Jan 2024 00:00:00 +0000</pubDate>
      <guid>https://bastianolea.rbind.io/blog/app_casen_relacionador/</guid>
      <description>&lt;p&gt;&#xA;&lt;a href=&#34;https://bastianoleah.shinyapps.io/casen_relacionador&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Aplicación web&lt;/a&gt; que permite comparar visualmente múltiples variables desde la encuesta Casen 2022, las cuales se visualizan en un gráfico de dispersión por comunas o regiones. Por defecto, al abrir la app se eligen variables al azar.&lt;/p&gt;&#xA;&lt;p&gt;El visualizador permite analizar la relación entre múltiples datos socioeconómicos de las comunas del país, en base a los datos de la &#xA;&lt;a href=&#34;https://observatorio.ministeriodesarrollosocial.gob.cl/encuesta-casen-2022&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Encuesta de caracterización socioeconómica nacional (Casen) 2022&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;p&gt;El gráfico expresa cómo se posicionan las comunas entre dos ejes que pueden representar ingresos, condiciones de vida, o situaciones de vulnerabilidad, expresando así la relación entre las desigualdades y condiciones de vida del país.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Tutorial: Scraping de estadísticas delictuales del Centro de Estudios y Análisis del Delito con R</title>
      <link>https://bastianolea.rbind.io/blog/tutorial_delitos_cead/</link>
      <pubDate>Wed, 27 Sep 2023 00:00:00 +0000</pubDate>
      <guid>https://bastianolea.rbind.io/blog/tutorial_delitos_cead/</guid>
      <description>&lt;p&gt;En este script detallaré cómo descargar datos de estadísticas delictuales del Centro de Estudios y Análisis del Delito (CEAD) de Chile utilizando técnicas de web scraping en R. Las estadísticas disponibles en el sitio web de CEAD corresponden a los siguientes datos oficiales: &lt;em&gt;Estadísticas Oficiales de Delitos de Mayor Connotación Social (DMCS), Violencia Intrafamiliar (VIF), Incivilidades y otros hechos informados por Carabineros y la Policía de Investigaciones de Chile al Ministerio del Interior y Seguridad Pública.&lt;/em&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>App: Graficador encuesta CEP</title>
      <link>https://bastianolea.rbind.io/blog/app_cep_graficador/</link>
      <pubDate>Thu, 15 Jun 2023 00:00:00 +0000</pubDate>
      <guid>https://bastianolea.rbind.io/blog/app_cep_graficador/</guid>
      <description>&lt;p&gt;Aplicación web que permite visualizar gráficos de los resultados de las encuestas del Centro de Estudios Públicos.&#xA;Además, permite desagregar resultados en base a categorías sociodemográficas, filtrar grupos, configurar los gráficos y descargar los datos.&lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://bastianolea.rbind.io/blog/app_cep_graficador/pantallazo_graficador_cep.jpg&#34;&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Contacto</title>
      <link>https://bastianolea.rbind.io/contacto/</link>
      <pubDate>Mon, 25 Feb 2019 13:38:41 -0600</pubDate>
      <guid>https://bastianolea.rbind.io/contacto/</guid>
      <description>&lt;p&gt;** Contact page don&amp;rsquo;t contain a body, just the front matter above.&#xA;See form.html in the layouts folder.&lt;/p&gt;&#xA;&lt;p&gt;Formspree requires a (free) account and new form to be set up. The link is made on the final published url in the field: Restrict to Domain. It is possible to register up to 2 emails free and you can select which one you want the forms to go to within Formspree in the Settings tab.&#xA;**&lt;/p&gt;</description>
    </item>
    <item>
      <title>Código de conducta</title>
      <link>https://bastianolea.rbind.io/code-of-conduct/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://bastianolea.rbind.io/code-of-conduct/</guid>
      <description>&lt;p&gt;&lt;em&gt;Desde &#xA;&lt;a href=&#34;https://www.contributor-covenant.org&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Contributor Covenant&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;&#xA;&#xA;&#xA;&#xA;&#xA;&lt;h1 id=&#34;código-de-conducta-convenido-para-contribuyentes&#34;&gt;Código de Conducta convenido para Contribuyentes&#xA;  &lt;a href=&#34;#c%c3%b3digo-de-conducta-convenido-para-contribuyentes&#34;&gt;&lt;/a&gt;&#xA;&lt;/h1&gt;&#xA;&#xA;&#xA;&#xA;&#xA;&lt;h2 id=&#34;nuestro-compromiso&#34;&gt;Nuestro compromiso&#xA;  &lt;a href=&#34;#nuestro-compromiso&#34;&gt;&lt;svg class=&#34;anchor-symbol&#34; aria-hidden=&#34;true&#34; height=&#34;26&#34; width=&#34;26&#34; viewBox=&#34;0 0 22 22&#34; xmlns=&#34;http://www.w3.org/2000/svg&#34;&gt;&#xA;      &lt;path d=&#34;M0 0h24v24H0z&#34; fill=&#34;currentColor&#34;&gt;&lt;/path&gt;&#xA;      &lt;path d=&#34;M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76.0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71.0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71.0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76.0 5-2.24 5-5s-2.24-5-5-5z&#34;&gt;&lt;/path&gt;&#xA;    &lt;/svg&gt;&lt;/a&gt;&#xA;&lt;/h2&gt;&#xA;&lt;p&gt;Nosotros, como miembros, contribuyentes y administradores nos comprometemos a hacer de la participación en nuestra comunidad sea una experiencia libre de acoso para todo el mundo, independientemente de la edad, dimensión corporal, discapacidad visible o invisible, etnicidad, características sexuales, identidad y expresión de género, nivel de experiencia, educación, nivel socio-económico, nacionalidad, apariencia personal, raza, casta, color, religión, o identidad u orientación sexual.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Contributors</title>
      <link>https://bastianolea.rbind.io/contributors/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://bastianolea.rbind.io/contributors/</guid>
      <description></description>
    </item>
    <item>
      <title>Licencias</title>
      <link>https://bastianolea.rbind.io/license/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://bastianolea.rbind.io/license/</guid>
      <description>&lt;h2 id=&#34;posts&#34;&gt;Posts&#xA;  &lt;a href=&#34;#posts&#34;&gt;&lt;svg class=&#34;anchor-symbol&#34; aria-hidden=&#34;true&#34; height=&#34;26&#34; width=&#34;26&#34; viewBox=&#34;0 0 22 22&#34; xmlns=&#34;http://www.w3.org/2000/svg&#34;&gt;&#xA;      &lt;path d=&#34;M0 0h24v24H0z&#34; fill=&#34;currentColor&#34;&gt;&lt;/path&gt;&#xA;      &lt;path d=&#34;M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76.0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71.0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71.0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76.0 5-2.24 5-5s-2.24-5-5-5z&#34;&gt;&lt;/path&gt;&#xA;    &lt;/svg&gt;&lt;/a&gt;&#xA;&lt;/h2&gt;&#xA;&lt;p&gt;Los &#xA;&lt;a href=&#34;https://bastianolea.rbind.io/blog/&#34;&gt;posts&lt;/a&gt; se basan en una licencia &#xA;&lt;a href=&#34;http://creativecommons.org/licenses/by-sa/4.0/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Creative Commons Attribution-ShareAlike 4.0 International License&lt;/a&gt;. Esto significa que &lt;strong&gt;puedes compartir, usar y editar&lt;/strong&gt; el contenido, siempre y cuando &lt;strong&gt;me des crédito, indiques los cambios que hiciste, y compartas el contenido bajo estas mismas condiciones.&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&#xA;&#xA;&#xA;&lt;h2 id=&#34;aplicaciones&#34;&gt;Aplicaciones&#xA;  &lt;a href=&#34;#aplicaciones&#34;&gt;&lt;svg class=&#34;anchor-symbol&#34; aria-hidden=&#34;true&#34; height=&#34;26&#34; width=&#34;26&#34; viewBox=&#34;0 0 22 22&#34; xmlns=&#34;http://www.w3.org/2000/svg&#34;&gt;&#xA;      &lt;path d=&#34;M0 0h24v24H0z&#34; fill=&#34;currentColor&#34;&gt;&lt;/path&gt;&#xA;      &lt;path d=&#34;M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76.0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71.0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71.0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76.0 5-2.24 5-5s-2.24-5-5-5z&#34;&gt;&lt;/path&gt;&#xA;    &lt;/svg&gt;&lt;/a&gt;&#xA;&lt;/h2&gt;&#xA;&lt;p&gt;Las aplicaciones y su código tienen licencias individuales, especificadas en sus respectivos repositorios, pero en su gran mayoría se rigen por la &#xA;&lt;a href=&#34;https://choosealicense.com/licenses/gpl-3.0/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;licencia GNU GPL3&lt;/a&gt;, una licencia tipo &lt;em&gt;copyleft&lt;/em&gt; que, a grandes rasgos, significa que puedes usar el código libremente para proyectos que también sean de código abierto, por lo tanto, en dichos proyectos derivados debes compartir también el código y aplicarle la licencia GPL3. No puedes usar mi código para proyectos de índole comercial &#xA;&lt;a href=&#34;https://bastianolea.rbind.io/contacto/&#34;&gt;sin consultarme previamente.&lt;/a&gt;&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
