R

Suicidios, crisis, y cambios de régimen en series temporales

El capo de los diletantes, en declaraciones a El País, dijo:

“Ellos no se habían dado cuenta y nosotros tampoco”, asegura Antonio Cabrera de León, autor principal del artículo del medio millón de muertos, que defiende la tesis principal de su trabajo: “Yo no tengo duda de que ha habido un incremento importantísimo de la mortalidad”. Y añade: “No negamos que haya un problema con los datos, que a lo mejor no son 500.000, puede variar en decenas de miles arriba o abajo”. Para Cabrera, director del área de Medicina Preventiva y Salud Pública de la ULL, no se puede negar que “los suicidios por los desahucios y las penurias están ahí”.

kamila: Clústering con variables categóricas

La codificación de las variables categóricas en problemas de clústering es la fuente de la mayor parte de los problemas con que se encuentran los desdichados que se ven forzados a aplicar este tipo de técnicas.

Existen algoritmos que tratan de resolver el problema sin necesidad de realizar codificaciones numéricas. kamila es un paquete de R que implementa uno de ellos. El artículo que lo acompaña, A semiparametric method for clustering mixed data aporta los detalles, que en resumen son:

François Husson en las X Jornadas de Usuarios de R

Las X Jornadas de Usuarios de R siguen adelante. Ahora, el comité organizador ha anunciado que una de las charlas plenarias correrá a cargo de François Husson, conocido por FactoMineR.

Sirva esta entrada de recordatorio, además, para que vayas considerando acudir a las jornadas.

[Y sí, escribo poco este mes; desafortunadamente, no tanto por falta de motivos como del tiempo necesario.]

Casos de uso de MicroDatosEs

R

MicroDatosEs ha sufrido algunas modificaciones recientes. En particular, un nuevo colaborador, Jorge López Pérez ha reescrito la documentación usando roxygen2`.

Pero falta una cosa importante (sobre todo, para el usuario esporádico): casos de uso.

En la página del paquete (el README.md de Github) he añadido una sección de ejemplos de uso de funciones del paquete, que actualmente solo tiene un enlace. Pero si alguien ha hecho o conoce algún otro ejemplo, y me lo puede comunicar, lo añadiré muy gustosamente (y quedaré muy agradecido). Eso sí, por concretar ideas:

gam/bam admiten efectos aleatorios

R

gam/bam admiten efectos aleatorios

gam/bam admiten efectos aleatorios

gam/bam admiten efectos aleatorios

gam/bam admiten efectos aleatorios

gam/bam admiten efectos aleatorios

gam/bam admiten efectos aleatorios

gam/bam admiten efectos aleatorios

Y solo me enteré anoche (gracias a José Luis Cañadas).

(Para más detalles, esto o esto).

Leaflet con capas WMS de Correos, Catastro, etc.

R

Esta entrada es un subproducto del trabajo que pocería que he realizado estos días en caRtociudad.

caRtociudad permite generar mapas estáticos al estilo de ggmap. Iba a poner algún ejemplo, pero los dejo para otro día.

La cosa es que mejorando caRtociudad::get_cartociudad_map, se me ha pasado por la cabeza la posibilidad de realizar la integración no ya con ggmap sino con leaflet. Y así (¡probadlos!), para los códigos postales,

library(leaflet)

leaflet() %>% addTiles() %>%
  setView(-3.703399, 40.41688, zoom = 14) %>%
  addWMSTiles(
  "http://www.ign.es/wms-inspire/ign-base",
  layers = "codigo-postal",
  options = WMSTileOptions(format = "image/png",
    transparent = TRUE),
  tileOptions(tms = TRUE),
  attribution = "")

Para las secciones censales,

t y as.raster no conmutan; ¿por qué no conmutarán?

R

Creo una minimatriz, la convierto en un raster y la represento:

m <- matrix(c(0, 0, 0.33, 0.66, .9, .9), 2, 3)
m
#      [,1] [,2] [,3]
# [1,]    0 0.33   .9
# [2,]    0 0.66   .9

r <- as.raster(m)
r
#           [,1]      [,2]      [,3]
# [1,] "#000000" "#545454" "#FFFFFF"
# [2,] "#000000" "#A8A8A8" "#FFFFFF"

plot(r, interpolate = FALSE)

Ahora, con la matriz traspuesta,

r_t_1 <- as.raster(t(m))
r_t_1
#           [,1]      [,2]
# [1,] "#000000" "#000000"
# [2,] "#545454" "#A8A8A8"
# [3,] "#E6E6E6" "#E6E6E6"

obtengo

El malabarista de Amiga, con R (y rgl)

R

Un exalumno mío de unos cursos de R, Guillermo Luijk, ha creado

usando R (y el paquete rgl).

Toda la información relevante, (incluyendo la historia, el código, las ecuaciones, etc.) aquí. Infinitamente recomendable.

(La recomendación se extiende encarecidamente al resto de las entradas de su blog).

La intrahistoria de mi libro de R

Una de las preguntas más fértiles que pueden formularse frente a algo es la del motivo de su existencia: ¿por qué existe en lugar de, simplemente, no existir?

El otro día anuncié públicamente la existencia de mi libro de R. No es el mejor ni el peor. Es hijo de las circunstancias que lo hicieron nacer. Que describo a continuación.

I

Corría el 2014. Yo tecleaba entonces en las oficinas de eBay en Zúrich. La oficina estaba escindida en dos: SAS y Python. No había apenas R por minúsculo problema técnico: no había (aparentemente) drivers para Teradata. La conexión entre R y Teradata estaba rota. Pero en una tarde y con unas cuantas líneas de Java, fabriqué un paquete de R que daba conexión ODBC con Teradata y más (lo típico: queries parametrizadas, etc.). Fue para mi uso personal, luego se popularizó (sí, me llegó una oferta para trabajar en Accenture de EE.UU. por parte de un grupo de usuarios agradecidos que no conocía); ahora no sé qué será de él.

Un libro de R: mi libro de R

No quería hacerlo público aún pero alguien se ve que lo estaba leyendo por ahí. No sé si Google habrá levantado ya la pájara. Tampoco es que fuese un secreto: lo he usado para varios cursos y me consta que ha sido usado por terceros para tal fin.

Pero ya está, es oficial: mi libro de introducción a R (inacabado) está colgado (aquí).

Y no voy a añadir nada más al respecto porque está todo en la introducción.

¿Un voluntario para aggiornar MicroDatosEs?

R

Mi paquete MicroDatosEs ya forma parte de rOpenSpain. Sin embargo, está falto de ciertas mejoras a las que aspiran los paquetes que forman parte de dicho repositorio.

Una de ellas es la de migrar la documentación del paquete a roxigen2. Lo podría hacer yo, pero es muy aburrido. Sin embargo, entiendo que puede ser entretenido (además de sencillo) para alguien que:

  • No sepa de qué va eso de roxigen2 pero me tome la palabra en eso de que es importante.
  • No sepa mucho de cómo va git, GitHub, etc. pero me tome la palabra en eso de que es importante.
  • Quiera disfrutar de una oportunidad real y significativa de aprender practicando.
  • Quiera aparecer en la lista de contribuyentes a dicho paquete.

Así que si alguien está dispuesto a pasar unas cuantas horas aprendiendo, que avise y le cuento cómo proceder. Eso sí, por simplificar, va a ser uno y no más.

¿Podría ser la solución que almas caritativas creasen viñetas espontáneamente?

R

Uno de los modelos más útiles potencialmente y que menos atención recibe es el de los modelos de conteos autoexcitados. Es decir, aquellos en los que un evento incrementa durante cierto tiempo la probabilidad de que ocurra otro. Creedme, ocurre así muy a menudo en muchas aplicaciones.

Por eso se pone uno muy contento cuando descubre paquetes de R como este.

Pero el hecho de que unos académicos lo hayan creado y puesto ahí por mor de las neonormas (administrativas, morales o de señalamiento) de reproducibilidad, no significa que lo hayan desarrollado para los usuarios finales. O pensando en ellos.

Documentar como el culo, no pensar en el usuario final, ser incapaz de ponerte en su situación, etc.

R

De vez en cuando pruebo paquetes promisorios. No es infrecuente que cosas que he intentado hace años, algún ejemplo más o menos sencillo que he publicado aquí, acabe convirtiéndose en la piedra angular de algo facturable. Incluso de algo facturable por mí.

geozoning podía haber sido uno de esos. La promesa del paquete es que puede ayudarte a segmentar regiones del espacio de acuerdo con alguna variable, una especie de clústering para información de tipo espacial.