<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Visualización de datos on Bastián Olea</title>
    <link>https://bastianolea.rbind.io/tags/visualizaci%C3%B3n-de-datos/</link>
    <description>Recent content in Visualización de datos on Bastián Olea</description>
    <generator>Hugo</generator>
    <language>es-ES</language>
    <lastBuildDate>Fri, 29 May 2026 00:00:00 +0000</lastBuildDate>
    <atom:link href="https://bastianolea.rbind.io/tags/visualizaci%C3%B3n-de-datos/index.xml" rel="self" type="application/rss+xml" />
    <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>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>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>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>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>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>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>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>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>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>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>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>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>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>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>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>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>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>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>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>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>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>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>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>
  </channel>
</rss>
