Gráfico con eje secundario en ggplot2

Los gráficos con eje secundario o con dos ejes son un tema que ya he puesto en el blog en varias ocasiones, hay un ejemplo con R que tenía sus problemas y hay un ejemplo con Python y matplotlib que particularmente me gusta por elegancia y sencillez. En esta entrada vamos a repetir el ejercicio y vamos a realizar un gráfico de columnas y líneas con 2 ejes, primario y secundario pero con ggplot2. Este tipo de gráficos son muy utilizados por los actuarios para representar frecuencias o siniestralidades y exposición. Para ilustrar el ejercicio vamos a emplear los mismos datos que usamos en el ejemplo con matplotlib pero vemos paso a paso como realizaríamos el gráfico: ...

13 de febrero de 2019 · rvaquerizo

Trucos simples para `rstats`

En mi cuenta de twitter suelo poner algunos trucos sencillos de R, cosas que me surgen cuando estoy trabajando y que no me cuesta compartir en 2 minutos, por si puedo ayudar a alguien. Me acabo de dar cuenta que de verdad son útiles y que tenerlos en twitter desperdigados es un problema, así que he pensado en recopilarlos en una entrada del blog para que sea más sencillo buscarlos (incluso para mi). Aquí van algunos de esos trucos: ...

11 de febrero de 2019 · rvaquerizo

Porque no vamos a cobrar pensiones. Animación con R y pirámides de población

Estoy creando material para un módulo de un máster que voy a impartir y escribiendo sobre seguros de ahorro he llegado a crear esta animación: Se trata de una animación con las pirámides de población de España desde 1975 hasta 2018 de 5 en 5 años. El sistema de pensiones español se basa en 5 principios: 1. principio de proporcionalidad 2. principio de universalidad 3. principio de gestión pública 4. principio de suficiencia 5. principio de reparto ...

9 de diciembre de 2018 · rvaquerizo

Data management con dplyr

Dos años con pandas y sckitlearn y ahora vuelvo a R. Y en mi regreso me propuse comenzar a trabajar con dplyr y mi productividad se está incrementando exponencialmente, creo que dplyr es LA HERRAMIENTA para el manejo de data frame con R, ni me imagino como puede funcionar sparlyr… Para aquellos que estéis iniciando vuestra andadura con R o para los que no estéis acostumbrados a dplyr he hecho una recopilación de las tareas más habituales que hago con esta librería. Se pueden resumir: ...

22 de noviembre de 2018 · rvaquerizo

Crear una `RESTful` API con R con plumber

Podéis buscar info en la web acerca de lo que es una REST y una RESTful pero el objetivo de este trabajo es la creación de una API para escorear unos datos a partir de un modelo que hemos creado en R. Vamos a hacer lo más sencillo, un modelo de regresión lineal creado por R será guardado y una API con datos podrá llamar a este modelo mediante un cliente RESTful para obtener una predicción. Esta será la primera de una serie de entradas que le voy a dedicar a Carlos, un antiguo compañero mío y que me ha enseñado a desaprender y el primer guiño a Carlos será abandonar mi subversion local para conectar mi RStudio con GitHub, todo el trabajo que voy desarrollando lo tenéis en https://github.com/analisisydecision/Modelo1. Si echáis un vistazo al repositorio ya os podéis imaginar hacia donde irán encaminadas esta serie de entradas. ...

7 de noviembre de 2018 · rvaquerizo

Libro de R de Carlos Gil

Muchos de los lectores de esta bitácora conocéis https://www.datanalytics.com/ el blog de Carlos Gil. En él ha publicado un libro/manual de R de acceso libre para todos aquellos que necesitéis una guía que abarque desde lo más básico al tratamiento de datos con R pasando por Shiny y análisis estadísticos de esos viejunos tan denostados últimamente. De todas formas no sé como no deja este mundillo y se dedica plenamente a su https://martinacocina.es/. En palabras de mi hijo: «El mejor brunch de Madrid, un 10».

10 de abril de 2018 · rvaquerizo

Pasando de SAS a R. Primer y ultimo elemento de un campo agrupado de un data frame

Las personas que están acostumbradas a trabajar con SAS emplean mucho los elementos first, last y by, en el blog hay ejemplos al respecto, en R podemos hacer este trabajo con la librería “estrella” dplyr de un modo relativamente sencillo. A continuación se presenta un ejemplo para entender mejor como funciona, creamos un conjunto de datos aleatorio: ```r id <- rpois(100,20) mes <- rpois(100,3)+1 importe <- abs(rnorm(100))*100 df <- data.frame(cbind(id,mes,importe)) Tenemos un identificador, una variable mes y un importe y deseamos obtener el menor importe por mes el primer paso a realizar es ordenar el data frame de R por ese identificador, el mes y el importe en orden descendente: ...

19 de octubre de 2017 · rvaquerizo

¿Puede la información de Twitter servir para calcular el precio de tu seguro?

Debemos de ir introduciendo el concepto de Social Pricing en el sector asegurador, si recordamos el año pasado Admirall y Facebook tuvieron un tira y afloja por el uso de la información de Facebook para el ajuste de primas de riesgo. Facebook alegaba a la sección 3.15 de su privacidad para no permitir emplear esta información a Admirall. Probablemente es un tema más económico. El caso es que tanto Facebook, como Instagram, como Twitter, como LinkedIn, como xVideos,… tienen información muy interesante acerca de nosotros, información que se puede emplear para el cálculo de primas en el sector asegurador (por ejemplo). No voy a decir como hacer esto, este blog no es el lugar, el que quiera conocer mis ideas que se ponga en contacto conmigo. Yo soy alguien “público”, no tengo problema en dejar mis redes sociales abiertas y este caso me sirve de ejemplo para analizar que dice Twitter de mí y también sirve de ejemplo para refrescar el manejo de información con Twitter con #rstats. Esta entrada es una combinación de entradas anteriores de esta bitácora así que recordemos como empezábamos a hacer scrapping de Twitter: ...

9 de octubre de 2017 · rvaquerizo

Como me encuentro hoy, con rstats

Gráfico absurdo con R y un buen ejemplo de las cosas que hace pi. Tras 2 meses de dolores intensos en mi hombro hoy sólo noto una molestia, y claro… plot(rep(10,10),rep(10,10),ann=FALSE,type="n", ,xlim=c(-1,1),ylim=c(-1,1),axes=FALSE) radio <- 1 theta <- seq(0, 2 * pi, length = 200) lines(x = radio * cos(theta), y = radio * sin(theta)) radio <- 1.1 theta <- seq(-0.75, -3*pi/4 , length = 100) lines(x = radio * cos(theta) , y = radio * sin(theta) + 0.5 ) points(-0.5,0.5,pch=1,cex=3) points(0.5,0.5,pch=1,cex=3)

28 de marzo de 2017 · rvaquerizo

Ajuste de `splines` con R

El ajuste por polinomios, el ajuste por spline, es una técnica imprescindible dentro de análisis actuarial. Como siempre la parte matemática y la parte debida al puro azar pueden arrojar discrepancias. ¿Dónde son mayores estas discrepancias cuando usamos métodos estadísticos clásicos? Donde siempre, donde tenemos pocos datos, el comportamiento errático que tiene una tendencia y que habitualmente achacamos a la falta de información los actuarios gustan de corregirlo con ajuste por cúbicas, aunque es mejor emplear ajuste por polinomios ya que no tienen que ser necesariamente polinomios de grado 3. En mi caso particular tengo un Excel que no puedo poner a vuestra disposición porque no lo hice yo, creo que lo hizo alguna divinidad egipcia y desde entonces circula por el mundo la función cubic_spline. Hoy quiero aprovechar el blog no solo para sugeriros como realizar splines con R, además quería pedir ayuda para crear una herramienta en shiny que permita realizar este ajuste que voy a mostraros a continuación. ...

26 de enero de 2017 · rvaquerizo