<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Gráficos on Bastián Olea</title>
    <link>https://bastianolea.rbind.io/tags/gr%C3%A1ficos/</link>
    <description>Recent content in Gráficos on Bastián Olea</description>
    <generator>Hugo</generator>
    <language>es-ES</language>
    <lastBuildDate>Fri, 24 Apr 2026 00:00:00 +0000</lastBuildDate>
    <atom:link href="https://bastianolea.rbind.io/tags/gr%C3%A1ficos/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>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>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>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>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>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>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>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>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>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>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>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>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>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>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>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>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>¿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>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>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: 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>
  </channel>
</rss>
