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.