Una aplicación SEO con R

Leyendo Bad Data vine a saber que Google deja en los logs de Apache información muy relevante sobre la optimización del sitio. En efecto, cuando alguien encuentra tu página en Google, Apache deja (casi siempre) en los logs una línea similar a 188.77.154.135 - - [30/Dec/2012:09:35:28 +0000] "GET /blog/page/33/?p=... HTTP/1.1" 200 15348 "http://www.google.es/url?sa=t&rct=j&q=breiman%20dos%20culturas%20estadistica&source=web&cd=21&cad=rja&ved=0CDIQFjAAOBQ&url=http%3A%2F%2Fwww.datanalytics.com%2Fblog%2Fpage%2F33%2F%3Fp%3D...&ei=1QrgULj7E6qk0QXRwYHgCQ&usg=AFQjCNHpdZUVD15sC7CdOvUOppdcXAjweQ&sig2=hKh3vCnCrvublGxQXoojyg&bvm=bv.1355534169,d.d2k" "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_6_8; ca-es) AppleWebKit/533.21.1 (KHTML, like Gecko) Version/5.0.5 Safari/533.21.1" La parte "http://www.google.es/url?sa=t&rct=j&q=breiman%20dos%20culturas%20estadistica&source=web&cd=21&cad=rja&ved=0CDIQFjAAOBQ&url=http%3A%2F%2Fwww.datanalytics.com%2Fblog%2Fpage%2F33%2F%3Fp%3D...&ei=1QrgULj7E6qk0QXRwYHgCQ&usg=AFQjCNHpdZUVD15sC7CdOvUOppdcXAjweQ&sig2=hKh3vCnCrvublGxQXoojyg&bvm=bv.1355534169,d.d2k" indica que el usuario buscó en google.es la cadena breiman dos culturas estadistica y la expresión cd=21 significa que mi página era el resultado número 21 según los algoritmos de Google. (Aunque dicha posición puede variar según el idioma del navegador y otras circunstancias que Google usa para personalizar las búsquedas). ...

10 de enero de 2013 · Carlos J. Gil Bellosta

El Ibex 35 al estilo GapMinder

Quiero representar hoy la evolución del Ibex 35 a lo largo del año pasado al estilo GapMinder. En concreto, usando un MotionChart de Google. Primero, bajo los símbolos de los activos del Ibex de Yahoo! Finance: library(XML) simbolos <- readHTMLTable(htmlParse("http://finance.yahoo.com/q/cp?s=%5EIBEX+Components")) simbolos <- as.character(simbolos[[9]]$Symbol) simbolos <- gsub("-P", "", simbolos) Luego, creo una pequeña función y se la aplico a cada símbolo: library(tseries) foo <- function( simbolo, final = Sys.time(), profundidad = 365 * 24 * 3600 ){ tmp <- get.hist.quote( instrument= simbolo, start = final - profundidad, end= final, quote="AdjClose", provider="yahoo", origin="1970-01-01", compression="d", retclass="zoo") precios <- as.data.frame(tmp) precios$fecha <- index(tmp) rownames(precios) <- NULL precios$simbolo <- simbolo precios$AdjClose <- 100 * precios$AdjClose / precios$AdjClose[1] precios$x <- as.numeric(precios$fecha) precios$x <- 1 + precios$x - precios$x[1] colnames(precios) <- c("precio", "fecha", "simbolo", "dias") precios } res <- sapply(simbolos, foo, simplify = F) res <- do.call(rbind, res) Finalmente, creo el gráfico: ...

9 de enero de 2013 · Carlos J. Gil Bellosta

Prueba R, gentileza de code school.com

¿Has oído hablar de R y quieres probarlo? ¿Sabes de alguien que esté pensando en hacer sus pinitos con él y que no sepa por dónde empezar? Codeschool.com (en colaboración con O’Reilly) han creado un microcurso, Try R, que permite familiarizarse con lo básico de R sin instalar nada, desde el navegador. ¿Quieres probar R? No tienes excusa.

11 de diciembre de 2012 · Carlos J. Gil Bellosta

¿... coma cero dos por ciento? ¡Anda ya!

Hoy hablo en la reunión del grupo de usuarios de R de Madrid. Voy a reciclar la charla que di en las IV Jornadas de Usuarios de R sobre mi paquete MicroDatosEs y voy a aprovechar para criticar, en mi estilo, enunciados como El número de parados crece en 85.000 personas y alcanza la cifra de 5.778.100. La tasa de paro se incrementa 38 centésimas hasta el 25,02%. que pueden encontrarse en la nota de prensa del INE que resume los resultados de la última encuesta de población activa, la del tercer trimestre de 2012. ...

28 de noviembre de 2012 · Carlos J. Gil Bellosta

Lo normal: sumar doce, restar seis

Un truco para generar variables aleatorias (aproximadamente) normales: sumar doce uniformes y restar seis. En efecto, x <- replicate(1000, sum(runif(12)) - 6) qqnorm(x) qqline(x, col=2) produce Ayuda a entender el motivo (de por qué el procedimiento genera variables aleatorias “casi” normales) que la varianza de la distribución uniforme es 1/12 y que su media es 1/2.

20 de noviembre de 2012 · Carlos J. Gil Bellosta

Presentación del libro "Six Sigma with R"

El martes 20 de noviembre, a las 17:00h, tendrá lugar la presentación del libro Six Sigma with R: Statistical Engineering for Process Improvement" en la sala Juan Béjar de la E.U. de Estadística de la U. Complutense por parte de Emilio López Cano. Existe además un paquete de R, SixSigma, desarrollado por los autores y disponible en CRAN. El mundo del control de la calidad (en ingeniería) está dominado por software propietario, particularmente, Minitab. Esperemos que este libro ayude a que el uso de R se incremente en ese ámbito ya no tanto por la segunda de las razones que David Ríos indica en el prefacio, esto es, que R es gratis, sino por la primera: que R es robusto, riguroso y eficiente.

19 de noviembre de 2012 · Carlos J. Gil Bellosta

Entrevista en el portal del RUG Barcelona

Ayer salió publicada una entrevista que me hicieron Aleix Ruiz de Villa y Lluís Ramón, del RUG Barcelona (grupo de usuarios de R de Barcelona). Puede leerse íntegramente en este enlace.

13 de noviembre de 2012 · Carlos J. Gil Bellosta

Liberado BioStatFLOSS, una colección de recursos libres para la bioestadística y la epidemiología

Quiero publicitar hoy BioStatFLOSS, una recopilación de software (libre, como el propio nombre indica) para Windows, especialmente indicado a la hora de realizar trabajos en el campo de la bioestadística y la epidemiología (pero que también se puede utilizar para la realización de estudios estadísticos más generales). El software (que incluye R como programa estrella) ha sido portabilizado —si no existía ya una versión portable, es decir, que no necesite instalación— y se ha creado un lanzador común desde donde se puedan llamar a todos esos programas (véase la captura adjunta). Este lanzador está programado en Lazarus (Free Pascal) y, en breve, se liberará el código fuente. ...

29 de octubre de 2012 · Carlos J. Gil Bellosta

HHH, HHT y el comando "yield" de Python

Variable aleatoria X: tiramos una moneda al aire sucesivamente y contamos el número de veces que lo hacemos hasta obtener el patrón HHH (tres caras) en las tres últimas tiradas. Variable aleatoria Y: lo mismo, pero hasta que salga el patrón HHT. Entonces las medias de X e Y son iguales, ¿verdad? Pues no. (¿Alguien sabría decirme cuál de las combinaciones, HHH o HHT, tiende, en promedio, a aparecer antes? Pueden darse explicaciones muy complejas, pero existe una muy simple e intuitiva). ...

26 de octubre de 2012 · Carlos J. Gil Bellosta

Veinte herramientas de visualización

Este es un listado de 20 herramientas de visualización que he extraído de aquí. Están divididas en varios grupos: Básicas: Excel y, extrañamente, CSV y JSON (que aun sin ser herramientas de visualización, son formatos usuales para el intercambio de información usados por ellas). Visualización en línea: Google Chart API Flot, Raphaël y D3, librerías de JavaScript. visual.ly, que sirve para crear esas configuraciones rectangulares de números y símbolos no siempre útiles que algunos llaman infografías. GUIs interactivos: Crossfilter y Tangle. ...

24 de octubre de 2012 · Carlos J. Gil Bellosta