Gráficos

Alineaciones de equipos de fútbol con worldfootballR de Rstats

Para obtener datos sobre fútbol de distintos proveedores disponemos de la librería de rstats worldfootballR , está disponible en CRAN, con ella podremos extraer datos de:

Por supuesto, lo primero que tenéis que hacer es navegar por esas web y pensad en como haríais el scraping, de ese modo entenderéis mejor como van a trabajar las funciones que tiene este paquete. Al estar en CRAN no vamos a empezar por instalar así que directamente vamos a obtener los partidos de la Liga con un rango de fechas.

Pintando campos de fútbol con #rstats y entendiendo funciones de densidad

La librería de rstats ggsoccer permite representar campos de fútbol con un código bastante sencillo, a continuación se plantean una serie de ejemplos para empezar a ilustrar su uso y quiero que me de pie a escribir sobre la función de densidad de una variable, pero empezamos por el principio instalar el paquete y empezar a usar.

# install.packages("remotes")
# remotes::install_github("torvaney/ggsoccer")
library(tidyverse)
library(ggsoccer)

# Lo pintamos en el campo
ggplot() +
  annotate_pitch() +
  ggtitle("Campo sin nada") +
  theme_pitch()

El código habla por si solo, muy sencillo a ggplot añadimos annotate_pitch() y theme_pitch(). Ahora sería necesario añadir información a este terreno de juego y para ello recuperamos una entrada anterior donde podíamos disponer de datos de eventing de Statsbomb que nos van a permitir pintar mapas de calor o heatmaps si nos molamos.

Resultados de La Liga con rstats. Estudiando gráficamente rachas


Vamos a crear un gráfico con #rstats que recoja los resultados de La Liga equipo a equipo para poder estudiar rachas e «intuir» como puede ser la segunda vuelta. Además, este ejercicio es un buen uso del paquete worldfootballR y la función de ggplot geom_tile además me va a servir para animarme esta segunda vuelta para que el Español no sufra. La web que vamos a emplear para el trabajo es FBREF. Empezamos.

Introducción a la Estadística para Científicos de Datos. Capítulo 5. Representación gráfica básica con ggplot

Además del manejo de datos es necesario tener conocimientos de representación de datos. En este trabajo se va a emplear la librería de R ggplot y se trabajarán las representaciones gráficas básicas que ha de manejar un científico de datos. Se pueden explorar las múltiples posibilidades que ofrece esta librería en la web Statistical tools for high-throughput data analysis que dispone de un gran número de recursos para R entre los que destaca el uso del paquete ggplot.

Representar polígonos de Voronoi dentro de un polígono

No es la primera vez que traigo al blog la realización de polígonos de Voronoi pero hoy la entrada está más orientada a la representación gráfica con #rstats y ggplot. En este caso deseamos crear polígonos de Voronoi en función del centro geográfico de las provincias españolas.

Origen de los datos

El pasado 25 de noviembre el Grupo de Usuarios de R de Madrid trajo la presentación de @dieghernan sobre la creación de mapas con la librería mapSpain que será la que nos permita crear mapas de españa a distintos niveles, entre ellos mapas a nivel provincial mediante un código en R que no puede ser más sencillo:

Rstats + Shiny + Leaftlet -> Mapas interactivos muy sencillos

Entrada en la que os mostraré como hacer un mapa con Leaflet en R que además añadimos a un Shiny para poder filtrar datos de forma interactiva. Ya mostramos en el blog como crear mapas marcando coordenadas con Leaflet y R de forma muy sencilla y hoy damos una vuelta de tuerca a aquella entrada, las coordenadas que deseamos representar tienen además, algún factor por el que hay especial interés en realizar un filtrado del mapa. Para ilustrar el ejemplo nos vamos a ir al Centro de descargas del Centro Nacional de Información Geográfica y nos bajamos del servidor los datos municipales en concreto a Nomenclátor Geográfico de Municipios y Entidades de Población, descargamos el archivo y tenemos un zip que contiene un csv llamado MUNICIPIOS.CSV

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:

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:

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á.

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.

No estamos igual que en la primera ola de COVID

Me cuesta hablar sobre COVID porque creo que hay voces con más conocimiento y mejor preparadas que la mía para opinar sobre el tema. Pero en los últimos tiempos leo algunas cosas que me empiezan a calentar y vuelvo a pensar que a lo mejor mi voz si debió ser escuchada. El caso es que hay una línea de opinión que argumenta que estamos más o menos igual que en el momento de aparición del virus, algo que llamamos primera ola frente a segunda ola, que las medidas no han funcionado siempre con el argumento «yo no soy contrario a pero en la Universidad de Nabucodonosor salió un estudio que». Sería bajo y de mala educación por mi parte insinuar que son unos gilipollas y por eso prefiero presentar un pequeño código de R para que podáis leer los datos de MoMo del Instituto Carlos III:

Añadiendo gráficos de tarta a nuestros mapas de ggplot con scatterpie

Los gráficos de tarta o pie charts tienen algunos peligros y el ahora escribiente no es muy partidario de su uso, sin embargo la librería scatterpie facilita mucho su realización en R y quería traer al blog un método más o menos sencillo para entender como hacer el gráfico y como disponer los datos.

Obtención del shp con el mapa

Se comienza por realizar un mapa sin nada con ggplot y raster que a los seguidores de los artículos de R del blog les será familiar: