Gráficos Básicos con Julia

De forma análoga a otras entradas sobre análisis gráficos básicos empezamos a trabajar con las posibilidades gráficas del lenguaje Julia. A continuación se recogerán el 80% de los gráficos que un científico de datos realizará en su vida profesional, el 20% restante se abordará en otras entradas. Emplearemos el conjunto de datos penguins para ilustrar los ejemplos:

using CSV
using DataFrames
using HTTP

url="https://raw.githubusercontent.com/mwaskom/seaborn-data/master/penguins.csv"
res = HTTP.get(url)
penguins = DataFrame(CSV.File(res.body))

En esta entrada se emplearán las librerías Plots y StatsPlots que podremos instalar con:

Primeros pasos con Julia. Importar un csv y data management básico con un data frame

Empiezo a trabajar con el lenguaje Julia ante la insistencia de JL Cañadas. Lo primero es comentar que este trabajo está hecho en Julia 1.6.2 con una máquina Ubuntu 18, para instalar Julia en Ubuntu:

  • Descarga de Julia
  • tar -xvzf julia-1.6.2-linux-x86_64.tar.gz
  • sudo cp -r julia-1.6.2 /opt/
  • sudo ln -s /opt/julia-1.6.2/bin/julia /usr/local/bin/julia

Una vez instalado he valorado los posibles IDE, parece ser que VS Code es lo más apropiado pero en mi caso particular tengo un problema con él. He optado por usarlo en Jupyter (lo sé) y para ello es necesario abrir julia en el terminal y poner:

Gráficos descriptivos básicos con Seaborn Python

Revisión de los gráficos más habituales que realizaremos en labores descriptivas de variables con Python, se emplea seaborn para ilustrar estos ejemplos. El tipo de gráfico dependerá del tipo de variable que deseamos describir e incluso del número de variables que deseamos describir Como aproximación inicial describiremos variables cuantitativas o variables cualitativas análisis univariables o análisis bivariables. Se trabaja con el conjunto de datos iris:

import seaborn as sns
import pandas as pd
import numpy as np
import io
import requests

url='https://raw.githubusercontent.com/uiuc-cse/data-fa14/gh-pages/data/iris.csv'
s=requests.get(url).content
df=pd.read_csv(io.StringIO(s.decode('utf-8')))
df.head()

Análisis univariables

Variables cuantitativas

Cuando describimos variables cuantitativas lo principal es conocer su forma, sobre que valores se hayan los datos y como son de dispersos y para ello el gráfico estrella es el histograma:

Medidas dinámicas con Power BI

Se abre una nueva categoría en el blog dedicada al uso de herramientas para la elaboración de cuadros de mando y dashboard. En esta primera entrega trabajaremos con Power B I y la creación de medidas dinámicas para ver en un mismo gráfico una medida u otra en función de una segmentación. No es una labor «inmediata» por ello he preferido ilustrar el trabajo con un vídeo donde, de forma velada, se pueden intuir mejoras y trucos a aplicar.

Nueva convocatoria del programa Máster en Big Data y Data Science de la UNED

Está abierta la convocatoria para 2022 del programa modular en Big Data y Data Science aplicados a la economía y a la administración y dirección de empresas:

https://www.masterbigdataonline.com/

Por supuesto, además de recomendar el propio programa os recomiendo el módulo específico de seguros donde trabajamos como un modelo no sólo crea segmentos, explica un problema y sus parámetros nos sirven para crear precios en entornos regulados.

Leaflet con R. Apuntes de mapas de coordenadas

Estoy desarrollando cosas muy interesantes con leaftlet en R y quería poner unos breves apuntes por si a alguien le sirvieran. En Stackoverflow y otras webs al uso tenéis mucha más ayuda y código de mayor interés pero en pocas líneas espero sentar las bases de uso de leaflet. Para ilustrar el ejemplo me he descargado unos datos de datos.gob con las coordenadas de los parques de bomberos de Madrid Capital, la idea es representar estos puntos en un mapa. Lo primero es descargar los datos y ponerlos en una ubicación de nuestro equipo:

Transponer data frames con R. De filas a columnas y de columnas a filas

Entrada para recordar como transponer data frames con R, como pasar de n filas a n columnas manteniendo campos identificativos y como pasar de columnas a filas y crear un campo identificativo. Siento que últimamente más que un blog tengo un cuaderno de apuntes pero si estos apuntes pueden ayudar a alguien mejor. En realidad la entrada es un ejemplo ilustrativo de las funciones de tidy pivot_wider y pivot_longer.

Pasar de filas a columnas

#install.packages("palmerpenguins")

library(palmerpenguins)

agregado_especies <- penguins %>% group_by(species, year) %>%
summarise(bill_depth_mm=mean(bill_depth_mm, na.rm=T)) %>%
pivot_wider(names_from = year, values_from = bill_depth_mm, names_prefix = “ANIO_”)

Animación de un mapa con Python. Porcentaje de vacunas administradas

Las animaciones con Python que mostramos hoy, al final, son animaciones con Image Magick pero esta entrada es un ejemplo de como podemos usar Python para la creación de gráficos que posteriormente generarán esa animación con las instrucciones concretas de Imagemagick (que tiene que estar instalado). La idea es realizar un mapa animado con el porcentaje de vacunas de COVID administradas.

Obtención de datos

Los datos los descargamos directamente del github de datadista.

Incluir subplot en mapa con ggplot

Se ha trabajado un mapa de España con ggplot al que podemos añadir subplot en función de unas coordenadas, en este caso es un mapa de España que incluye gráficos de líneas para cada Comunidad Autónoma, vamos a representar el exceso de mortalidad que está suponiendo la pandemia por COVID, un dato que se puede seguir con MoMo del ISCIII . Los que seguidores el blog ya conocen una entrada en la que se escribió sobre la inclusión de pie chart en mapas con R esta entrada supone ir un paso más allá.

Truco Excel. Repetir celdas en función de los valores de otra celda

En alguna ocasión me habéis planteado como repetir celdas en Excel en función del valor de una celda, es decir, repetir una celda tantas veces como nos indica otra celda. Disponía de una versión con fórmulas más complejas que programar el proceso en visual basic, si alguien está interesado cuelgo un ejemplo en Excel sin describir el funcionamiento porque es muy complejo, quizá en el futuro retome esas fórmulas e intente simplificar el proceso. Hoy os traigo esta tarea de repetir celdas en Excel en base a otra celda pero insertando y usando fórmulas sencillas. Para el ejemplo partiríamos de esta situación:

Series temporales animadas con R y gganimate, comparando cotizaciones

La comparación de series es otro de los usos que le estoy dando a las animaciones, en este caso quiero comparar la cotización de Tesla frente a la cotización del Bitcoin e intentar establecer paralelismo (o no). Obtenemos los datos vía quantmod y comenzamos a traficar:

library(quantmod)
library(tidyverse)
library(gganimate)
library(lubridate)

cartera = c("BTC-USD", "TSLA")
getSymbols(cartera, src="yahoo", from="2019-12-31")
chartSeries(`BTC-USD`)
tail(`BTC-USD`)
btc =  data.frame(date=index(`BTC-USD`), coredata(`BTC-USD`))
tesla =  data.frame(date=index(`TSLA`), coredata(`TSLA`))

Ya tenemos dos data frames con la cotización de Testa y la cotización del Bitcoin desde el 31/12/2019 hasta la fecha. Ahora vamos a unir los 2 objetos en uno para facilitar los gráficos.

Mapa de Rstats animado con el porcentaje de vacunación en España

El dato del porcentaje de vacunados de COVID por Comunidad Autónoma está en prensa diariamente y yo estoy empezando a trabajar animaciones para visualizar los datos de un modo más dinámico, fundamentalmente visualizaciones con R y las librerías ggplot y gganimate, así que un mapa animado con ese dato me parecía un ejercicio interesante. No esperaba que estos ejercicios tuvieran mucho interés puesto que hay material en la web más que suficiente, pero dos personas sí mostraron interés por lo que crearé dos entradas en el blog con algunas animaciones realizadas. La primera de ellas la traigo hoy y consiste en el porcentaje de personas vacunadas en España en función de las vacunas entregadas por Comunidad Autónoma. No me quiero meter en los datos, directamente vamos a representar, todo lo referente a datos y coronovirus en España no funciona tan correcto como debiera.

youtube-dl para descargar videos y mplayer para pasar esos vídeos a imágenes

Si deseamos descargar vídeos de Youtube tenemos youtube-dl pero podemos descargar de otras web y en esta entrada vamos a ver como. Además podemos transformar esas entradas en fotogramas, esto es útil a la hora de analizar imágenes, podríamos estudiar la presencia de una marca en un partido de fútbol, identificar las matrículas que pasan delante de determinada cámara u otros casos de uso. Y en uno de esos casos precisamente J.L. Cañadas del blog hermano Muestrear no es Pecado me ha descubierto la librería youtube-dl y la creación de scripts para tranformar videos en imágenes que posteriormente podemos analizar. El caso de mplayer es distinto, lo conocía, Cañadas me ha descubierto el ffmpeg que ofrece más posibilidades.