Datos, datos, datos,... ¿pero qué datos?

Porque según donde mira uno… Veamos un ejemplo. Ha caído en mi mano este documento de Eurostat sobre residuos urbanos y su reciclaje (o no).

Lo primero que me ha llamado la atención han sido los números correspondientes a España:

residuos_urbanos

¿A vosotros no? Qué números tan redondos, ¿verdad? Como si puestos a ojo. Pues sí, son, poco más o menos, a ojo. La tabla tiene una nota en letra diminuta en la que indica que las cifras de España (y algunos otros países) son estimaciones que podrían ser revisadas.

Y todo ocurre en un abrir y cerrar de ojos

Abres una aplicación en tu móvil que diseñó un programador búlgaro. Ipso facto aparece un insidioso banner de, p.e., Jazztel. ¿Cuáles son los mecanismos que ponen en contacto al búlgaro con Jazztel? ¿De qué manera recibe aquél una compensación de esta?

Tradicionalmente, el desarrollador habría hablado con, p.e., Google. Le habría dicho: yo voy a generar “espacios” donde tú vas a poder colgar propaganda a cambio de una cantidad (fija o variable). El intermediario, por otra parte, capta anunciantes (Jazztel en nuestro ejemplo), almacena un inventario de ellos y decide cuál de ellos mostrar. Hay teoría aplicable en estos contextos, como la que describe Real-Time Bidding Algorithms for Performance-Based Display Ad Allocation.

Pues sí: un curso de redes sociales con R

R

Debido a la positiva acogida de la propuesta para organizar un curso de redes sociales con R… pues se va a hacer.

  • Cuándo: Los días 9 (jueves), 15 y 22 (miércoles ambos) de abril, de 18:00 a 20:30-21:00 horas.
  • Lugar: Las cuevas de MartinaCocina (Cascorro 11, 28005 Madrid).
  • Programa: Las partes 1-6 de este tutorial. Se completará en modo taller resolviendo por el camino las dudas que surjan y discutiendo los conceptos que aparecen en él. No tiene formato de clase magistral. Se espera la participación activa de los asistentes.
  • Prerrequisitos: Cierto conocimiento de R es recomendable. Sospecho que no será provechoso para quienes, cuando menos, desconozcan los rudimentos de la programación (no necesariamente en R).
  • Otras consideraciones: Las plazas son limitadas. Probablemente quede quien no pueda asistir. Por eso se espera de quienes obtengan una plaza un mínimo compromiso y seriedad, es decir, asistencia.
  • Registro: Aquí. En unos días se cerrará el registro y, de exceder el aforo, se procederá a un sorteo para asignar las plazas; véase el punto anterior sobre la seriedad, el compromiso y la asistencia.

Compresión con SVD

svd_greco

lo he creado con

library(png)

tmp.file <- tempfile()
download.file("http://datanalytics.com/uploads/greco.png", tmp.file)
m <- readPNG(tmp.file)

svd.m <- svd(m)

filtra.svd <- function(svd, k){
  tmp <- svd
  tmp$d[(k+1):length(tmp$d)] <- 0
  res <- tmp$u %*% diag(tmp$d) %*% t(tmp$v)

  res[res > 1] <- 1
  res[res < 0] <- 0

  plot(1:2, type='n', xlab = "",
        ylab = "", xaxt = "n", yaxt = "n",
        main = paste(k, "primeras componentes", sep = " "))
  rasterImage(res, 1, 1, 2, 2)
}

layout(matrix(1:9, 3, 3, byrow = T))

sapply(c(1,2,3,5,10,15,20,30,50),
        function(k) filtra.svd(svd.m, k))

Mileuristas... anuales

Publicaba el otro día El País una nómina de Franco de noviembre de 1935 con un líquido a percibir de 2.429,98 pesetas. Según el articulista,

[s]i comparamos aquella cantidad con el coste de la vida actual, la equivalencia se elevaría a 5.261,80 euros. Así lo ha calculado para EL PAÍS Ernesto Poveda, del Grupo Icsa, dedicado, entre otras cosas a asuntos de observatorio salarial. El trabajo está hecho con arreglo a la tabla de actualización de precios al consumo que establece Jordi Maluquer de Motes, catedrático de la Universidad Autónoma de Bellaterra (Barcelona). “Se trata de la referencia utilizada por los historiadores económicos avalada por el Banco de España”, explica Poveda.

Campaña de alfabetización numérica... para diputados

¿Sabe de números tu próximo representante?

Al preguntar a los diputados actuales acerca de la probabilidad de obtener dos caras consecutivas al lanzar una moneda, solo el 40% de ellos obtuvieron la respuesta correcta. ¿Lo harán mejor lo siguientes?

[…]

Así, pero en inglés, comienza esta nota de la Royal Statistical Society que sugiere a los votantes (del RU, desgraciadamente) invitar a sus candidatos a formarse en los rudimentos de la estadística y el análisis y comprensión de datos.

¿Un curso de redes sociales con R?

Se me ha propuesto organizar un curso, taller o similar de redes sociales y su análisis con R. De nuevo, presencial.

topologia_correos

Mi propuesta —dado que soy lego en el asunto— es organizar un taller basado en este. Ahí va mi propuesta: en una serie de sesiones en MartinaCocina plantamos un proyector y una pizarra y entre todos vamos avanzando en el tutorial y resolviendo las dudas colaborativamente.

Por supuesto, el asunto no estaría planteado como clase unidireccional en el que alguien habla y explica y los demás asienten. Más bien, como un taller de pares que aprenden y que a la voz de ya estamos todos pasamos al siguiente asunto.

Datos en formato largo y melt

R

En ocasiones uno recibe datos no muy distintos de

aragon <- read.table("http://datanalytics.com/uploads/pob_aragon",
                        header = T, sep = "\t")
aragon

# Provincias Periodo Hombres Mujeres
# 1     Huesca    2014  113840  111069
# 2     Huesca    2004  107961  104940
# 3     Teruel    2014   71449   68916
# 4     Teruel    2004   71073   68260
# 5   Zaragoza    2014  471675  488436
# 6   Zaragoza    2004  441840  455510

Los mismos datos en formato largo son:

library(reshape2)

aragon.largo <- melt(aragon, id.vars = c("Provincias", "Periodo"))
aragon.largo
# Provincias Periodo variable  value
# 1      Huesca    2014  Hombres 113840
# 2      Huesca    2004  Hombres 107961
# 3      Teruel    2014  Hombres  71449
# 4      Teruel    2004  Hombres  71073
# 5    Zaragoza    2014  Hombres 471675
# 6    Zaragoza    2004  Hombres 441840
# 7      Huesca    2014  Mujeres 111069
# 8      Huesca    2004  Mujeres 104940
# 9      Teruel    2014  Mujeres  68916
# 10     Teruel    2004  Mujeres  68260
# 11   Zaragoza    2014  Mujeres 488436
# 12   Zaragoza    2004  Mujeres 455510

Si eso de datos largos (o en formato largo) no te suena, pierde un momento en:

format( "www.R-project.org", year = 2015)

R

Tal fue el asunto del correo en el que Martin Maechler anunció el lavado de cara de la página de R acontecido hace unos pocos días. Es muy revelador el argumento year = 2015: los usuarios de hoy en día ya no toleramos caóticas yuxtaposiciones de cualquier cosa que algunos llaman páginas de internet.

Los usuarios de hoy en día no tenemos tiempo de buscar y rebuscar. Nos molestan los tropezones. Nos molesta la complejidad innecesaria.

Licencias urbanísticas: datos y votos

Una de mis aficiones recientes es la de echarle un vistazo a las licencias de apertura de los locales de Madrid. Son un cartelito que suelen tener colgado en la puerta (con una H verde y grande en hostelería) donde se indica, entre otras cosas, el aforo y la fecha de concesión.

(Lo del aforo no es asunto baladí: sin un aforo oficial, no existe exceso de aforo,… ¿y si luego pasa algo?).