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

20 de enero de 2021 · rvaquerizo

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

11 de enero de 2021 · rvaquerizo

Mapas estáticos de Perú con R y Python a nivel de Distrito

Petición de un lector de un código de ejemplo para hacer mapas de Perú con R y con Python, perfectamente reproducible si seguimos algunas entradas del blog pero que, de este modo, quedan resumidos en un solo sitio. En este caso se va a emplear un notebook desde RStudio donde tendremos chunks de R y Python en función de lo que necesitemos. Podéis copiar y pegar directamente, debe salir lo mismo. ...

28 de diciembre de 2020 · rvaquerizo

Corrección ortográfica en RStudio

Si os estáis acostumbrando a usar RStudio como editor de texto y no confiáis en vuestras capacidades ortográficas, sabed que podéis hacer una revisión ortográfica de vuestro documento desde RStudio. Es muy sencillo, lo primero es Tools –> Global Options y luego te vas a spelling (ortografía) y allí eliges el diccionario que quieres usar, si no aparece el tuyo lo puedes descargar o actualizar: Ahora en los documentos de R que estéis editando si pulsáis F7 podréis realizar una revisión ortográfica del texto. ...

27 de diciembre de 2020 · rvaquerizo

Analisisydecision.es os desea felices fiestas

Un homenaje a R base del que nadie se acuerda. Una animación donde se usa el paquete snowflakes para hacer copos de nieve y hay algún uso interesante de la función text. En cualquier caso, lo dicho, felices fiestas en estos días extraños. ```r alturas <- seq(100,200, by = 3) posiciones <- as.integer(runif(length(alturas),5,95)) radio = round(runif(length(alturas),0.7,1.8),2) orientacion = posiciones/5 * (pi/6) grises <- paste0("gray",as.integer(runif(length(alturas),70,95))) texto = " AnalisisyDecision.es " texto2 = "os desea felices fiestas"; saveGIF( for (i in seq(0,100, by = 3)){ frase2="" frase1=substr(texto,1,i/3) if (i > nchar(texto)) frase2=substr(texto2,1,i/2 - nchar(texto)) plot(rep(100,100),rep(100,100),ann=FALSE,type="n",axes=FALSE, ylim=c(0,100), xlim=c(0,100)) snowflakes(xCoor = posiciones, yCoor = alturas - i, radius = radio, orientation = orientacion, seeds = puntas, color = grises) text(80,50, frase1, adj = c(1,0), cex=2, col=i) text(80,30, frase2, adj = c(1,0), cex=2, col=i)}, fps= 1 , movie.name="C:/temp/animaciones/navidad.gif")

22 de diciembre de 2020 · rvaquerizo

Mi curriculum con RMarkdown y pagedown

Me he puesto a actualizar mi curriculum y a la vez estoy aprendiendo markdown y en ese proceso Jose Luis Cañadas me dijo «usa pagedown». No era yo fan de RMarkdown, pero me estoy reconvirtiendo. Me está pasando con markdown algo parecido a lo que me pasó con el picante, no me gustaba hasta que lo probé y desde entonces me encanta. ¿Por qué lo probé? Porque había decidido tomarme un tiempo sabático para elaborar una serie de cursos, webminar y actualizar la web que son 12 años sin modificaciones. Tras 3 meses sabáticos estoy harto de no trabajar , son 25 años seguidos trabajando, 20 gestionando datos, y otros 5 en los que hice de todo (hasta servir en la Armada). No soy capaz de estar sin trabajar, el primer paso es elaborar un resumen de mi vida profesional y dar un nuevo formato porque llevo con el mismo unos 12 años. ...

21 de diciembre de 2020 · rvaquerizo

Evaluando la capacidad predictiva de mi modelo `tweedie`

Cuando tenemos que evaluar el comportamiento de un modelo de clasificación binomial empleamos sensibilidad, especificidad,… ya he hablado sobre ese tema aunque volveré sobre ello. Sin embargo, si nuestro modelo estima un valor es posible que no tengamos tan claro como está funcionando su capacidad predictiva. Lo que traigo hoy es un análisis muy básico pero que entienden muy bien aquellas personas que no tienen grandes conocimientos en ciencia de datos, además es una continuación de la entrada en la que se ilustraba un ejemplo de uso de los modelos tweedie. ...

17 de diciembre de 2020 · rvaquerizo

Librería `mapSpain` en `rstats`. Mapas estáticos de España

Más mapas estáticos de España con R esta vez con la librería mapSpain de Diego Hernangomez que simplifica mucho la realización de esta tarea. el primer ejemplo es un mapa del exceso de mortalidad por comunidad Autónoma para el año 2020 reaprovechando un código del blog: library(mapSpain) library(sf) library(tidyverse) library(lubridate) library(stringr) df <- read.csv("https://momo.isciii.es/public/momo/data") df <- df %>% dplyr::filter(ambito =='ccaa' & nombre_sexo=='todos' & cod_gedad=='all') %>% mutate(fecha_defuncion=as.Date(fecha_defuncion, '%Y-%m-%d')) %>% filter(year(fecha_defuncion)>=2020) df <- df %>% mutate(ola = case_when( fecha_defuncion <= as.Date("2020-03-07") ~ 'Anteriores', fecha_defuncion <= as.Date("2020-05-07") ~ 'Primera ola', fecha_defuncion <= as.Date("2020-08-01") ~ 'Verano', TRUE ~ 'Segunda ola'), exceso = round(defunciones_observadas/defunciones_esperadas-1,4)*100, iso2.ccaa.code = paste0("ES-",cod_ambito,sep="")) agr <- df %>% dplyr::filter(ola=='Primera ola') %>% group_by(iso2.ccaa.code) %>% summarise(exceso=round(sum(defunciones_observadas)/sum(defunciones_esperadas)-1,4)*100) Como vemos en el código se ha preparado una variable iso2.ccaa.code para el cruce con el objeto espacial que vamos a obtener con mapSpain. Ahora para realizar el mapa sólo necesitamos unas líneas de código para realizar el mapa con el que empezamos la entrada: ...

10 de diciembre de 2020 · rvaquerizo

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

2 de diciembre de 2020 · rvaquerizo

Modelos tweedie con H2O. Mutualizar siniestralidad en base a factores de riesgo

Ya he escrito sobre la distribución tweedie en otra ocasión y hoy vuelvo a traeros un ejemplo de uso que además servirá para introducir un método, una forma de trabajar con modelos en H2O y R además de emplear gradient boosting machine (gbm) para la obtención de primas de riesgo. Ya hay buenos profesionales repartidos en el mercado laboral a los que les he mostrado como hacer modelos de riesgo para el sector asegurador con R y H2O dentro del Máster en Big Data de la UNED donde imparto el módulo de seguros. Pero hoy quiero traer al blog un resumen de otro tipo de modelos que nos pueden servir para segmentar una cartera de seguros en base a la siniestralidad esperada de un riesgo. Recordad que un seguro trata de mutualizar el gasto entre una cartera, no sé a priori quien va a tener un siniestro (¡si lo supiera!) pero si dispongo de información histórica de mi cartera y esa información me puede dar unas pistas sobre lo que ocurrirá a futuro (habitualmente un año), quiero ver que parte de esa información histórica es reproducible asumiendo siempre un error. ...

1 de diciembre de 2020 · rvaquerizo