Selección de enlaces: redes sociales, gráficos con R, ofertas de trabajo y p-valores

Acá va otra selección de cuatro enlaces relevantes –que no necesariamente nuevos— de la semana. El primero, Using Metadata to find Paul Revere recoge —a modo de historia que algunos encontrarán amena— una aplicación de rudimentos del álgebra lineal al análisis de redes sociales. Dada una matriz de incidencia A (personas que pertenecen a clubes) es posible calcular índices de proximidad entre personas (o entre clubes) calculando no más AA'. El resto hasta ganar el premio de Netflix es pura heurística. ...

28 de febrero de 2014 · Carlos J. Gil Bellosta

Curso de análisis de datos 'ómicos' con R

Copio aquí el anuncio de un nuevo curso de análisis de datos (ómicos en este caso) con R: Nos complace anunciaros que el CREAL organiza la segunda edición del “Curso de análisis de estadístico de datos ómicos” que va a celebrarse los días 8, 9 y 10 de abril de 2014. Debajo podréis encontrar cómo hacer la inscripción que se llevará a cabo por estricto orden de petición ysolo será posible para los primeros 16 pre-inscritos. ...

26 de febrero de 2014 · Carlos J. Gil Bellosta

Cuatro enlaces: sanidad, correos electrónicos, leyes y errores de programación

El primero es Freer trade in European and Spanish health care services y trata sobre los efectos en el sistema sanitario español de una directiva europea que liberaliza el acceso a los ciudadanos de al unión a los servicios de salud de otros países. En concreto, el artículo argumenta cómo España podría ser uno de los países más afectados por dos razones: El flujo de extranjeros que atrae el país. El diferencial de precios (mucho más baratos en España) que en el extranjero. Los efectos podrían ser tres: ...

21 de febrero de 2014 · Carlos J. Gil Bellosta

La bolsa intradía y bolsa interdía

El IBEX 35 abre todas las mañanas a un precio y cierra a otro. El precio de apertura de un día no es necesariamente igual al del cierre del siguiente. Por lo tanto, la variación del índice en una jornada completa de 24 horas es igual a la suma de las variaciones dentro y fuera del horario de cotización. Dicho lo cual: Juan compra el IBEX todos los días a primera hora y lo vende en el último minuto. Al otro lado, Pedro lo compra en el último minuto y se lo vende (¡a Juan!) justo al abrir la bolsa al día siguiente. Juan y Pedro llevan operando así desde el 1 de enero de 2000. ¿Cuál de los dos se ha llevado el gato al agua? Veámoslo: ...

20 de febrero de 2014 · Carlos J. Gil Bellosta

Ofertón: tarifa plana de GasNaturalFenosa

En medio del fragor mediático sobre el precio de la electricidad, me ha llegado un ofertón de GasNaturalFenosa: la posibilidad de contratar una tarifa plana para la electricidad. La entrada de hoy es el debido ejercicio acerca de si me conviene o no contratarla. En R, por supuesto. Primero, el código: library(ggplot2) # tramos tarifas planas tarifas <- c("micro", "mini", "media", "maxi", "extra") dat <- data.frame( tarifas = factor(tarifas, levels = tarifas), hasta = c(1500, 2500, 4000, 5500, 7000), tarifa.plana = c(30, 40, 55, 73, 91) ) # precio normal del kWh base <- 0.13 # fijo en función de la potencia contratada # indico el que pago yo aunque varía de # cliente en cliente termino.potencia <- 15 # precio del kWh sobre el límite extra <- 0.23 # consumos posibles consumos <- data.frame(consumo = seq(0, 7000, by=100)) dat <- merge(dat, consumos) dat$precio.normal <- 12 * termino.potencia + dat$consumo * base dat$precio.tarifa.plana <- 12 * dat$tarifa.plana + extra * pmax(0, dat$consumo - dat$hasta) dat$beneficio.oferta <- dat$precio.normal - dat$precio.tarifa.plana dat <- subset(dat, beneficio.oferta > -250) ggplot(dat, aes(x=consumo, y=beneficio.oferta, col = tarifas)) + geom_line() + geom_hline(aes(yintercept=0), col = "red", alpha = 0.5) La salida es este gráfico: ...

19 de febrero de 2014 · Carlos J. Gil Bellosta

El yuyuplot en perspectiva

El yuyuplot al que me refiero es un gráfico ha circulado por internet y que ha causado cierto pánico, se ve (y de ahí el nombre). En algunos sitios —véase este como ejemplo de los menos acertados— se ha intentado de explicar al público sus deméritos. El mundo de las finanzas debiera ser la envidia de otros ámbitos por el volumen, variedad y velocidad de los datos disponibles en él. Además, desde tiempo atrás, mucho antes de que el siglo nos trajese el big data, la transparencia, el opendetodo y otras concomitancias. A la vez, sin embargo, es inagotable fuente de ejemplos de uso pueril de esos datos. El que nos ocupa es uno de ellos. ...

18 de febrero de 2014 · Carlos J. Gil Bellosta

Mi solución al otro problema del cumpleaños

Pues eso, que me piqué —y parte de la culpa la tiene este sujeto— con el otro problema del cumpleaños y he aquí el código —exacto salvo redondeos, no mediante simulaciones— que he usado para resolverlo: f <- function(n, k = 365, v = NULL){ if(is.null(v)) v <- c(1, rep(NA, k)) res <- 1 for(j in (k-1):1){ v[k-j] <- ifelse( is.na(v[k-j]), f(n, k-j, v), v[k-j]) res <- res - choose(k,j) * ((k-j)/k)^n * v[k-j] } res } f(2287) #0.5003708 f(2286) #0.4994142 Lo que hay al final son los ensayos últimos de mi mecanismo de cutrebúsqueda binaria para acotar la solución usando la función f. Esta función calcula la probabilidad de que una distribución aleatoria de n bolas en k urnas no deje vacía ninguna de ellas. ...

13 de febrero de 2014 · Carlos J. Gil Bellosta

De ratios, apuestas y riesgos

Nunca he entendido eso de los odds. Me refiero a eso que mencionan las películas: ocho contra uno a favor de tal, cinco contra tres a favor de cual. Y no creo que sea el único al que le son ajenos. De hecho, la página de la Wikipedia en español correspondiente a la inglesa para odds se refiere a ellas como cuotas, término que jamás hasta hoy había visto así usado. Tampoco lo han visto, se concoce, los lexicógrafos de la RAE. ...

12 de febrero de 2014 · Carlos J. Gil Bellosta

Guía de estilo de R (de Google)

R es un lenguaje de programación de alto nivel que se usa principalmente en aplicaciones estadísticas y para la generación de gráficos. El objetivo de esta guía de estilo es que nuestro código sea más fácil de leer, compartir y analizar. Las reglas de esta guía fueron consensuadas con la comunidad de usuarios de R en Google. Resumen de las reglas de estilo Nombres de ficheros: tienen la extensión .R Identificacores: variable.name, FunctionName, kConstantName Longitud de línea: no más de 80 caracteres Indentación: dos espacios, no tabuladores Espacios Llaves: el primero en la misma línea; el último, solo Asignaciones: usar <-, no = Puntos y comas: no usarlos Distribución general y ordenación Comentarios: todos los comentarios comienzan con # seguido de un espacio; los comentarios dentro del código necesitan dos espacios delante de # Definiciones y llamadas a funciones Documentación de funciones Ejemplo de función Estilo para los TODO: TODO(username) Resumen de las reglas de programación ...

27 de enero de 2014 · Carlos J. Gil Bellosta

Macros sintácticas con R

Creo que muchos hemos tropezado con las macros alguna vez. Yo conocía las del preprocesador de C o el tinglado que tiene SAS. Y nunca fui muy amigo de ellas. Pero el otro día leí Stop Writing JavaScript Compilers! Make Macros Instead y se me alargaron los dientes. Así que he buscado información adicional hasta hacerme una idea de la diferencia entre una macro que se limita a reemplazar texto, una macro procedural —como las del lenguaje PL/I, antecesor e inspirador de SAS— y las sintácticas, como las que tiene Lisp (¿cuándo tendré tiempo para aprenderlo en condiciones?). ...

16 de enero de 2014 · Carlos J. Gil Bellosta