Aprende R con swirl

Me pasó el otro día Federico Castanedo un enlace a swirl que quiero compartir con mis lectores y, en particular, aquellos que quieren aprender (¡o enseñar!) R. ¿Cómo funciona? Sencillo: install.packages("swirl") library("swirl") swirl() (idealmente en RStudio) y luego, click, click, click hasta saber todo lo que merece ser sabido en R.

16 de octubre de 2014 · Carlos J. Gil Bellosta

Amanece, me cuentan, que no es poco

El amanecer es una cosa que ocurre a diario, me cuentan, pero que yo apenas he visto. Casi hablo de lo que no sé. Por otra parte, la discusión de los horarios, de si deberíamos tener la hora de Londres y no la de Berlín, me parece puro nominalismo. Unos llaman a la hora a la que se levantan sechs, otros seven, otros huit y yo diez y veinte. Y no pasa nada. ...

14 de octubre de 2014 · Carlos J. Gil Bellosta

Bootstrap bayesiano

Hoy voy a hablar de esa especie de oxímoron que es el bootstrap bayesiano. Comenzaré planteando un pequeño problema bien conocido: tenemos números $x_1, \dots, x_n$ y hemos calculado su media. Pero nos preguntamos cómo podría variar dicha media (de realizarse otras muestras). La respuesta de Efron (1979) es esta: replicate(n, mean(sample(x, length(x), replace = TRUE))) Es decir, crear muestras de $x_i$ con reemplazamiento y hacer la media de cada una de ellas para obtener su presunta distribución (o una muestra de la presunta distribución de esa media). ...

10 de octubre de 2014 · Carlos J. Gil Bellosta

Experto en Data Science en la U-tad

Se me ha ido pasando y nunca he llegado a escribir aquí que seré uno de los profesores del Experto en Data Science de la U-tad que comienza… de hecho este viernes. El escribir tan tarde me permite, al menos, presumir de que todo lo bueno que tengo que decir sobre el programa y el claustro no tiene finalidad comercial/propagandística. Y sí, lo habéis adivinado: la parte del programa que me corresponde tiene que ver con R y algunos de los paquetes que me sacan de apuros a diario (p.e., data.table). Y la otra sobre motores de recomendación. Tema en el que hasta no hace mucho no creía (y tampoco me atraía) pero en el que estoy descubriendo extensiones muy interesantes. Como por ejemplo, esta.

9 de octubre de 2014 · Carlos J. Gil Bellosta

¿Dónde he estado (según Google)?

Leí esto el otro día. Lo voy a replicar con mis datos. Contexto Google guarda datos de tus ubicaciones: tu tableta, tu ordenador, tu teléfono Android son espías a su servicio. Los datos los guarda en aquí (creo que necesitarás que en tu navegador haya una sesión abierta con tus credenciales del universo Google). Pulsando en administrar archivos y luego en crear archivos puedes seleccionar el tipo de información sobre ti que posee Google y que quieres descargarte. Para este ejemplo, será el Historial de Ubicaciones. ...

1 de octubre de 2014 · Carlos J. Gil Bellosta

plyr, dplyr, data.table: ¿qué opinas?

Fui un pájaro mañanero con plyr. Probé una vez data.table y no me convenció. Volví a él cuando realmente lo necesitaba y ahora es la prolongación de mis dedos. Aún no me he puesto con dplyr aunque he visto el suficiente código escrito con él que no creo que me cueste mucho comenzar a usarlo. Pero tengo la sensación de que tenemos un cisma como el de vi contra emacs en ciernes. Comienza a haber, parece, partidarios acérrimos de tirios y troyanos. Así que abro la sección de comentarios para que opines sobre estos paquetes. A mí y a muchos otros lectores nos gustaría conocer tu opinión al respecto. ¿Cuál utilizas? ¿Qué te gusta de cada cual? ¿Cuál recomendarías?

24 de septiembre de 2014 · Carlos J. Gil Bellosta

El impacto (causal) de Google

Voy a escribir sobre un artículo como no debe hacerse: sin haberlo leído. Los bayesianos dirían que esta opinión que aquí voy a vertir es mi prior para cuando encuentre el tiempo y bajo la cual matizaré lo que en él se diga. Lo advierto, en todo caso, para que quien me lea no renuncie al sanísimo escepticismo. Voy a hablar de Inferring causal impact using Bayesian structural time-series models y del paquete de R que lo acompaña, CausalImpact, cuyos autores trabajan en Google. ...

23 de septiembre de 2014 · Carlos J. Gil Bellosta

La diapositiva perdida, versión algo más extendida

Tuve que saltarme una diapositiva en el DataBeers de Madrid del pasado jueves. (A propósito, aquí están las 1+20 diapositivas.) La decimonona, de la que trata la entrada, viene a hablar de lo siguiente. Tenemos una base de datos con sujetos (ids) que hacen cosas en determinados momentos. No es inhabitual calcular la frecuencia de esos sujetos así: select id, count(*) as freq from mytabla where fecha between current_date - 7 and current_date group by id ; Esa variable se utiliza frecuentemente ya sea como descriptor de los sujetos o como alimento de otros modelos. ...

22 de septiembre de 2014 · Carlos J. Gil Bellosta

Primer elemento de un grupo dentro de un dataframe de R

Hoy he encontrado una solución decente a un problema que venía arrastrando desde hace un tiempo en R. Tengo una tabla muy grande (decenas de millones de registros) con su id. Me interesa quedarme con el subconjunto de la tabla original en que para cada id el valor de una determinada variable es mínimo. Un caso de uso: esa variable adicional mide la distancia de la observación a los centroides de unos clústers. El registro con el menor valor proporciona la asignación del sujeto a su grupo. ...

19 de septiembre de 2014 · Carlos J. Gil Bellosta

R en Nada Es Gratis

Jesús Fernández Villaverde escribió en Nada es Gratis sobre R el otro día. Publicó cuatro vídeos: Una entrevista a Hadley Wickham La conferencia plenaria de John Chambers en la useR! 2014 Una entrevista a Yihui Xie, el creador de knitr La conferencia plenaria de Martin Mächler en la useR! 2014, Good Practices in R Programming Todos muy interesantes. Pero todavía lo es más que desde unas páginas del impacto de Nada es Gratis tengan a bien contribuir al conocimiento (¡y al uso!) de R.

16 de septiembre de 2014 · Carlos J. Gil Bellosta