R

Los datos están histogramizados... ¿quién los deshisotogramizará?

Hace un tiempo quise hacer cosas malísimas con datos fiscales de España y Dinamarca. Pero los datos estaban histogramizados:

Gracias a Freakonometrics di con binequality. Adaptando su código, escribo

library(rvest)
library(plyr)

dk <- read_html("http://www.skm.dk/english/facts-and-figures/progression-in-the-income-tax-system")
tmp <- html_nodes(dk, "table")
tmp <- html_table(tmp[[2]])

header <- tmp[1,]
tmp <- tmp[-c(1, 2),]
colnames(tmp) <- header

# elimino declaraciones negativas
tmp <- tmp[-1,]

# elimino el total
tmp <- tmp[-(nrow(tmp)),]

colnames(tmp) <- c("rango", "contribuyentes",
    "X1", "income", "tax1", "tax2", "pct")

irpf_dk <- tmp[, c("rango", "contribuyentes",
    "income", "tax1", "tax2")]

irpf_dk$contribuyentes <- as.numeric(irpf_dk$contribuyentes)
irpf_dk$income <- as.numeric(irpf_dk$income)
irpf_dk$tax1 <- as.numeric(irpf_dk$tax1)
irpf_dk$tax2 <- as.numeric(irpf_dk$tax2)

irpf_dk$tax <- irpf_dk$tax1 + irpf_dk$tax2
irpf_dk$tax1 <- irpf_dk$tax2 <- NULL
irpf_dk$pct <- irpf_dk$tax / irpf_dk$income


irpf_dk$desde <- c(0, 25, 50, 75, 100, 125, 150,
    200, 250, 300, 350, 400, 500, 750, 1000)
irpf_dk$hasta <- c(irpf_dk$desde[-1], Inf)

irpf_dk$desde <- irpf_dk$desde / 7.44
irpf_dk$hasta <- irpf_dk$hasta / 7.44
irpf_dk$income <- irpf_dk$income / 7.44
irpf_dk$tax    <- irpf_dk$tax / 7.44

irpf_dk$mean_income <- irpf_dk$income /
        irpf_dk$contribuyentes * 1000

irpf_dk$rango <- NULL

para bajar y preprocesar los datos y después

Contraargumentando (materialmente) sobre la falacia del fiscal

R

Hace un par de días hablé de la falacia del fiscal y granos de arroz. La entrada iba acompañada de

y la lección era: es raro no encontrar ningún clúster cuando se tiran al azar granos de arroz sobre una superficie. De lo que se derivaban más cosas que es ocioso repetir aquí.

Pero el gráfico no es desconocido para los viejos del lugar: se parece mucho al de la página 319 de ESL. Para los que no lo tengáis a mano, la parte donde se habla de un algoritmo que se llama igual que un general de Reus con calle en Méjico DF: PRIM.

¿Por que slt-ear si puedes stR-ear?

La función stl (véase aquí un ejemplo de uso). Pero tiene sus limitaciones.

El paquete stR la extiende y permite, entre otras cosas, introducir distintos tipos de estacionalidades (p.e., anuales y semanales).

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:

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