{"id":677,"date":"2022-04-16T20:53:16","date_gmt":"2022-04-16T18:53:16","guid":{"rendered":"https:\/\/www.educagis.com\/wpcarlos\/?p=677"},"modified":"2022-04-16T20:53:18","modified_gmt":"2022-04-16T18:53:18","slug":"exploracion-de-datos-con-datavoyager","status":"publish","type":"post","link":"https:\/\/www.educagis.com\/wpcarlos\/2022\/04\/16\/exploracion-de-datos-con-datavoyager\/","title":{"rendered":"Exploraci\u00f3n de datos con DataVoyager"},"content":{"rendered":"<h2 class=\"simpletoc-title\">Tabla de contenidos<\/h2>\n<ul class=\"simpletoc-list\">\n<li><a href=\"#introduccion\">Introducci\u00f3n<\/a>\n\n<\/li>\n<li><a href=\"#detalles-sobre-datavoyagerjl\">Detalles sobre DataVoyager.jl<\/a>\n\n<\/li>\n<li><a href=\"#uso-de-datavoyager\">Uso de DataVoyager<\/a>\n\n<\/li>\n<li><a href=\"#opciones-dentro-de-datavoyager\">Opciones dentro de DataVoyager<\/a>\n\n<\/li>\n<li><a href=\"#uso-de-nuestro-datos\">Uso de nuestro datos<\/a>\n\n<\/li>\n<li><a href=\"#reflexion-final\">Reflexi\u00f3n Final<\/a>\n<\/li><\/ul>\n\n<h2 class=\"wp-block-heading\" id=\"introduccion\">Introducci\u00f3n<\/h2>\n\n\n<p class=\"has-drop-cap\">En busca de herramientas que nos permiten visualizar nuestros datos y a modo de complementar lo que vimos con VegaLite en una <a rel=\"noreferrer noopener\" href=\"https:\/\/www.educagis.com\/wpcarlos\/2021\/09\/27\/uso-de-vegalite-para-visualizar-mapas\/\" target=\"_blank\">entrada anterior<\/a>, en esta oportunidad probaremos el uso de un paquete de Julia denominado <a rel=\"noreferrer noopener\" href=\"https:\/\/github.com\/queryverse\/DataVoyager.jl\" target=\"_blank\">DataVoyager.jl<\/a>. Nuestro objetivo ser\u00e1 mostrar de manera pr\u00e1ctica las ventajas de trabajar con una herramienta interactiva de visualizaci\u00f3n que nos puede ayudar como parte del proceso de exploraci\u00f3n inicial de nuestros datos.<\/p>\n\n\n<h2 class=\"wp-block-heading\" id=\"detalles-sobre-datavoyagerjl\">Detalles sobre DataVoyager.jl<\/h2>\n\n\n<p>En principio, debemos entender que este paquete de Julia viene integrado dentro del metapaquete <a rel=\"noreferrer noopener\" href=\"https:\/\/www.queryverse.org\/packages\/\" target=\"_blank\">Queryverse<\/a>, logrando proporcionar herramientas interactivas de exploraci\u00f3n de datos. Se basa en el proyecto <a rel=\"noreferrer noopener\" href=\"https:\/\/github.com\/vega\/voyager\" target=\"_blank\">Voyager<\/a> y est\u00e1 estrechamente integrado con <a rel=\"noreferrer noopener\" href=\"https:\/\/github.com\/queryverse\/VegaLite.jl\" target=\"_blank\">VegaLite.jl<\/a>. Como vemos, el paquete usa como fuente <a rel=\"noreferrer noopener\" href=\"https:\/\/vega.github.io\/vega\/\" target=\"_blank\">Vega<\/a>, que trabaja a trav\u00e9s de una gram\u00e1tica de visualizaci\u00f3n, un lenguaje declarativo para crear, guardar y compartir dise\u00f1os de visualizaci\u00f3n interactivos, el mismo que a trav\u00e9s de su aplicativo <a rel=\"noreferrer noopener\" href=\"https:\/\/vega.github.io\/vega\/\" target=\"_blank\">Voyager<\/a> presenta una interfaz de visualizaci\u00f3n para la exploraci\u00f3n de datos. Proporciona una interfaz para especificar la especificaci\u00f3n Vega-Lite, con recomendaciones de gr\u00e1ficos impulsadas por el motor de recomendaci\u00f3n de visualizaci\u00f3n <a rel=\"noreferrer noopener\" href=\"https:\/\/github.com\/vega\/compassql\" target=\"_blank\">Compass<\/a> (como lenguaje de consulta).  Como dato adicional, Voyager adem\u00e1s de ser utilizado por Julia a trav\u00e9s de DataVoyager, para quienes tienen la costumbre de usar <a href=\"https:\/\/github.com\/jupyterlab\/jupyterlab\" target=\"_blank\" rel=\"noreferrer noopener\">JupyterLab<\/a>, existe una <a href=\"https:\/\/github.com\/altair-viz\/jupyterlab_voyager\" target=\"_blank\" rel=\"noreferrer noopener\">extensi\u00f3n<\/a> para que lo puedan probar.<\/p>\n\n\n<h2 class=\"wp-block-heading\" id=\"uso-de-datavoyager\">Uso de DataVoyager<\/h2>\n\n\n<p>Para nuestra demostraci\u00f3n vamos a emplear unos datos en formato CSV y de libre acceso: <a rel=\"noreferrer noopener\" href=\"https:\/\/data.gov.ie\/dataset\/aqa04-crop-yield-and-production\" target=\"_blank\">Crop Yield and Production<\/a>. Como primera acci\u00f3n debemos instalar los paquetes requeridos. Podemos desde una IDE como Visual Studio Code, activar el REPL con las teclas <em><code>Alt j + Alt o<\/code><\/em>, y luego de usar <em><strong><code>]<\/code><\/strong><\/em>, adicionamos los paquetes <em>VegaDatasets, DataVoyager, CSVFiles, DataFrames y VegaLite<\/em>.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>(@v1.7) pkg>add &lt;package><\/code><\/pre>\n\n\n\n<p>Vamos a generar un archivo que en mi caso lo denomin\u00e9 <em><strong>eda.jl<\/strong><\/em>, para iniciar nuestro c\u00f3digo activando los paquetes instalados.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>using VegaDatasets  \r\nusing DataVoyager   \r\nusing CSVFiles\r\nusing DataFrames\r\nusing VegaLite  <\/code><\/pre>\n\n\n\n<p>Ahora como primer ejemplo emplearemos una de los datos disponibles que tenemos al usar <strong><em>VegaDatasets<\/em><\/strong>, nos referimos a \u00ab<em><strong>iris<\/strong><\/em>\u00ab.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>dat_iris = dataset(\"iris\") |> Voyager()<\/code><\/pre>\n\n\n\n<figure class=\"wp-block-image size-medium is-resized is-style-default\"><a href=\"https:\/\/www.educagis.com\/wpcarlos\/wp-content\/uploads\/2022\/04\/vista_iris.png\" target=\"_blank\" rel=\"noopener\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.educagis.com\/wpcarlos\/wp-content\/uploads\/2022\/04\/vista_iris-300x197.png\" alt=\"\" class=\"wp-image-688\" width=\"358\" height=\"235\" srcset=\"https:\/\/www.educagis.com\/wpcarlos\/wp-content\/uploads\/2022\/04\/vista_iris-300x197.png 300w, https:\/\/www.educagis.com\/wpcarlos\/wp-content\/uploads\/2022\/04\/vista_iris-768x505.png 768w, https:\/\/www.educagis.com\/wpcarlos\/wp-content\/uploads\/2022\/04\/vista_iris.png 901w\" sizes=\"auto, (max-width: 358px) 85vw, 358px\" \/><\/a><figcaption>Vista de DataVoyager con datos de Iris<\/figcaption><\/figure>\n\n\n<h2 class=\"wp-block-heading\" id=\"opciones-dentro-de-datavoyager\">Opciones dentro de DataVoyager<\/h2>\n\n\n<p>Como se aprecia en la imagen previa, en digamos el campo de datos, ha reconocido las columnas de los datos, colocando el s\u00edmbolo \u00ab<strong><em>#<\/em><\/strong>\u00bb al inicio para aquellos que presentan datos de tipo num\u00e9rico o cuantitativo y \u00ab<strong><em>A<\/em><\/strong>\u00ab, para aquellos de tipo nominal. A partir de ahora queda a nuestro criterio ir agrupando los datos en los ejes <strong><em>X<\/em><\/strong> e <em><strong>Y<\/strong><\/em> respectivos (solo se arrastran), teniendo como una de las opciones cuando se visualizan nuestros datos el poder diferenciarlos por colores arrastrando dentro de \u00ab<em>Mark<\/em>\u00bb en donde indica \u00ab<em>color<\/em>\u00bb por ejemplo la columna de datos \u00ab<em>species<\/em>\u00bb y tambi\u00e9n lo podemos dividirlos en files o columnas si arrastramos los mismos datos dentro de donde indica \u00ab<em>Facet<\/em>\u00ab.<\/p>\n\n\n\n<figure class=\"wp-block-image size-medium is-resized is-style-default\"><a href=\"https:\/\/www.educagis.com\/wpcarlos\/wp-content\/uploads\/2022\/04\/vista2.png\" target=\"_blank\" rel=\"noopener\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.educagis.com\/wpcarlos\/wp-content\/uploads\/2022\/04\/vista2-300x143.png\" alt=\"\" class=\"wp-image-695\" width=\"313\" height=\"149\" srcset=\"https:\/\/www.educagis.com\/wpcarlos\/wp-content\/uploads\/2022\/04\/vista2-300x143.png 300w, https:\/\/www.educagis.com\/wpcarlos\/wp-content\/uploads\/2022\/04\/vista2-1024x490.png 1024w, https:\/\/www.educagis.com\/wpcarlos\/wp-content\/uploads\/2022\/04\/vista2-768x367.png 768w, https:\/\/www.educagis.com\/wpcarlos\/wp-content\/uploads\/2022\/04\/vista2-1200x574.png 1200w, https:\/\/www.educagis.com\/wpcarlos\/wp-content\/uploads\/2022\/04\/vista2.png 1299w\" sizes=\"auto, (max-width: 313px) 85vw, 313px\" \/><\/a><figcaption>Vista de gr\u00e1ficos empleando opciones de marcas y facetas.<\/figcaption><\/figure>\n\n\n\n<p>Otra opci\u00f3n que podemos apreciar es la posibilidad de incorporar algunos filtros, como ejemplo arrastramos una columna de datos num\u00e9ricos con la finalidad de reducir los valores a un rango espec\u00edfico de valores, con la finalidad de ajustar nuestro gr\u00e1fico. Como se aprecia en la figura siguiente, se elimina valores de una especie que esta fuera del rango establecido por el filtro.<\/p>\n\n\n\n<figure class=\"wp-block-image size-medium is-resized is-style-default\"><a href=\"https:\/\/www.educagis.com\/wpcarlos\/wp-content\/uploads\/2022\/04\/vista3.png\" target=\"_blank\" rel=\"noopener\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.educagis.com\/wpcarlos\/wp-content\/uploads\/2022\/04\/vista3-300x143.png\" alt=\"\" class=\"wp-image-700\" width=\"313\" height=\"149\" srcset=\"https:\/\/www.educagis.com\/wpcarlos\/wp-content\/uploads\/2022\/04\/vista3-300x143.png 300w, https:\/\/www.educagis.com\/wpcarlos\/wp-content\/uploads\/2022\/04\/vista3-1024x490.png 1024w, https:\/\/www.educagis.com\/wpcarlos\/wp-content\/uploads\/2022\/04\/vista3-768x367.png 768w, https:\/\/www.educagis.com\/wpcarlos\/wp-content\/uploads\/2022\/04\/vista3-1200x574.png 1200w, https:\/\/www.educagis.com\/wpcarlos\/wp-content\/uploads\/2022\/04\/vista3.png 1299w\" sizes=\"auto, (max-width: 313px) 85vw, 313px\" \/><\/a><\/figure>\n\n\n<h2 class=\"wp-block-heading\" id=\"uso-de-nuestro-datos\">Uso de nuestro datos<\/h2>\n\n\n<p>Ahora nos toca usar los datos que fueron descargados de la fuente ya mencionada. Seguiremos el mismo procedimiento seguido con la diferencia que debemos agregar el paso previo de leer datos en formato CSV, empleando el paquete <em>CSVFiles.jl<\/em>, luego con el paquete <em>DataFrames.jl<\/em> generar nuestra estructura de datos bajo el esquema de los Dataframes.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>crop_data = load(\"voyager\/data\/crop_production.csv\") |>DataFrame\r\n\r\nv = crop_data |> Voyager()<\/code><\/pre>\n\n\n\n<figure class=\"wp-block-image size-medium is-resized is-style-default\"><a href=\"https:\/\/www.educagis.com\/wpcarlos\/wp-content\/uploads\/2022\/04\/vista1.png\" target=\"_blank\" rel=\"noopener\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.educagis.com\/wpcarlos\/wp-content\/uploads\/2022\/04\/vista1-300x151.png\" alt=\"\" class=\"wp-image-707\" width=\"310\" height=\"156\" srcset=\"https:\/\/www.educagis.com\/wpcarlos\/wp-content\/uploads\/2022\/04\/vista1-300x151.png 300w, https:\/\/www.educagis.com\/wpcarlos\/wp-content\/uploads\/2022\/04\/vista1-1024x514.png 1024w, https:\/\/www.educagis.com\/wpcarlos\/wp-content\/uploads\/2022\/04\/vista1-768x385.png 768w, https:\/\/www.educagis.com\/wpcarlos\/wp-content\/uploads\/2022\/04\/vista1.png 1198w\" sizes=\"auto, (max-width: 310px) 85vw, 310px\" \/><\/a><figcaption>Vista de nuestros datos dentro de DataVoyager<\/figcaption><\/figure>\n\n\n\n<p>Luego de ajustar nuestras columnas de datos empleando las opciones que tenemos dentro de esta herramienta, vamos a generar un gr\u00e1fico que ser\u00e1 mostrado en nuestra vista espec\u00edfica. Finalmente si estamos conforme con el resultado, es obvio que necesitamos exportarlo a un formato de imagen por lo general para que puede ser incluido en quiz\u00e1s alguna presentaci\u00f3n que necesitamos realizar. Para ello podemos seguir las indicaciones del siguiente c\u00f3digo en Julia.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>plot1 = v&#91;]\r\n\r\nplot1 |> save(\"voyager\/output\/prod_media.svg\")<\/code><\/pre>\n\n\n\n<p>Si bien podemos exportarlo a otros formatos como <em>*.png<\/em>, se recomienda emplear el formato <em>*.svg<\/em>, con la finalidad de tener una mejor presentaci\u00f3n sin alteraci\u00f3n en la calidad de la imagen.<\/p>\n\n\n<h2 class=\"wp-block-heading\" id=\"reflexion-final\">Reflexi\u00f3n Final<\/h2>\n\n\n<p>Siempre considero importante tener la posibilidad de explorar nuestros datos de manera r\u00e1pida, ahora conocemos una herramienta que nos permite realizarlo de manera interactiva y de manera muy \u00abvisual\u00bb, generando gr\u00e1ficos de manera r\u00e1pida y de manera intuitiva, aunque es verdad que estamos limitados en el conocimiento m\u00e1s profundo de los datos, sobre todo desde el lado de la calidad de los mismos, es decir, a primera vista no podr\u00edamos darnos cuenta si existen datos faltantes por ejemplo. En general considero que esta herramienta podr\u00eda ser muy \u00fatil para datos que de antemano conocemos que son confiables y necesitamos mostrar gr\u00e1ficos para una presentaci\u00f3n r\u00e1pida. Mientras exploraba la herramienta, me pude dar cuenta que la aplicaci\u00f3n propia del mismo <a rel=\"noreferrer noopener\" href=\"https:\/\/vega.github.io\/voyager2\/\" target=\"_blank\">Voyager<\/a>, presenta mayores opciones, les recomiendo probarla y si quieren profundizar tambi\u00e9n pueden revisar su <a rel=\"noreferrer noopener\" href=\"https:\/\/idl.cs.washington.edu\/papers\/voyager2\/\" target=\"_blank\">documentaci\u00f3n<\/a> que es muy completa sobre todo lo que podr\u00edamos realizar con esta herramienta. Tambi\u00e9n logre encontrar un <a href=\"https:\/\/idl.cs.washington.edu\/papers\/voyager2\/\" target=\"_blank\" rel=\"noreferrer noopener\">paper<\/a> sobre el mismo.<\/p>\n\n\n\n<p>Bueno, espero que la herramienta presentada sea de mucha utilidad al  momento de hacer una exploraci\u00f3n inicial de sus datos. De la misma manera se ha elaborado un video sobre el uso de esta herramienta para que puedan ver con mayor detalle las opciones que fueron empleadas.<\/p>\n\n\n\n<figure class=\"wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio\"><div class=\"wp-block-embed__wrapper\">\n<iframe loading=\"lazy\" title=\"Exploraci\u00f3n Interactiva de datos con DataVoyager\" width=\"840\" height=\"473\" src=\"https:\/\/www.youtube.com\/embed\/whvQt8l60F4?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture\" allowfullscreen><\/iframe>\n<\/div><\/figure>\n","protected":false},"excerpt":{"rendered":"<p>Introducci\u00f3n En busca de herramientas que nos permiten visualizar nuestros datos y a modo de complementar lo que vimos con VegaLite en una entrada anterior, en esta oportunidad probaremos el uso de un paquete de Julia denominado DataVoyager.jl. Nuestro objetivo ser\u00e1 mostrar de manera pr\u00e1ctica las ventajas de trabajar con una herramienta interactiva de visualizaci\u00f3n &hellip; <a href=\"https:\/\/www.educagis.com\/wpcarlos\/2022\/04\/16\/exploracion-de-datos-con-datavoyager\/\" class=\"more-link\">Continuar leyendo<span class=\"screen-reader-text\"> \u00abExploraci\u00f3n de datos con DataVoyager\u00bb<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_bbp_topic_count":0,"_bbp_reply_count":0,"_bbp_total_topic_count":0,"_bbp_total_reply_count":0,"_bbp_voice_count":0,"_bbp_anonymous_reply_count":0,"_bbp_topic_count_hidden":0,"_bbp_reply_count_hidden":0,"_bbp_forum_subforum_count":0,"footnotes":""},"categories":[6],"tags":[25,18,24],"class_list":["post-677","post","type-post","status-publish","format-standard","hentry","category-tools","tag-datavoyager","tag-julia","tag-voyager"],"_links":{"self":[{"href":"https:\/\/www.educagis.com\/wpcarlos\/wp-json\/wp\/v2\/posts\/677","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.educagis.com\/wpcarlos\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.educagis.com\/wpcarlos\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.educagis.com\/wpcarlos\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.educagis.com\/wpcarlos\/wp-json\/wp\/v2\/comments?post=677"}],"version-history":[{"count":18,"href":"https:\/\/www.educagis.com\/wpcarlos\/wp-json\/wp\/v2\/posts\/677\/revisions"}],"predecessor-version":[{"id":714,"href":"https:\/\/www.educagis.com\/wpcarlos\/wp-json\/wp\/v2\/posts\/677\/revisions\/714"}],"wp:attachment":[{"href":"https:\/\/www.educagis.com\/wpcarlos\/wp-json\/wp\/v2\/media?parent=677"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.educagis.com\/wpcarlos\/wp-json\/wp\/v2\/categories?post=677"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.educagis.com\/wpcarlos\/wp-json\/wp\/v2\/tags?post=677"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}