Programa Profesional de Iniciación a R

Del 9 de junio al 9 de julio impartiré un curso de iniciación a R. Se trata de una versión extendida de mi curso de introducción a R que, como novedad fundamental, pasa de 12 a 30 horas de duración. El programa, sin embargo, es esencialmente el mismo: aquello, todo ello y no más que aquello que de R podría usarse en Endesa, el Banco de Santander, Deloitte o el Ministerio de Sanidad. ...

21 de abril de 2015 · Carlos J. Gil Bellosta

Todo por no RTFM (o cómo usar matplotlib con R)

Quien escribió Call matplotlib from R podía haberse ahorrado bastante trabajo de la peor especie (programación de bajo nivel con C++) leyendo los benditos manuales (de rPython, en este caso). Le bastaba hacer library(rPython) x <- seq(0, 2*pi, length = 100) sx <- sin(x) cx <- cos(x) python.assign("x", x) python.assign("sx", sx) python.assign("cx", cx) python.exec("import matplotlib.pyplot as plt") python.exec("plt.rcParams.update({'figure.figsize' : (7,4)})") python.exec("plt.plot(x, sx)") python.exec("plt.plot(x, cx, '--r', linewidth=2) ") python.exec("plt.legend(('sin(x)', 'cos(x)'))") python.exec("plt.savefig('2015-04-02-pyplot.png')") para obtener con una fracción del esfuerzo y sin reinventar la rueda. ...

16 de abril de 2015 · Carlos J. Gil Bellosta

Spark ha muerto, ¡larga vida (y buena migración) a Shinyapps!

Primero, y por evitar confusiones, este no es el Spark que se nos muere. Se muere un servidor de RStudio donde se colgaban aplicaciones desarrolladas en shiny, spark.rstudio.com. El nuevo servicio se llama shinyapps.io. Que viene a ser lo mismo pero más formal, con sus tokens, sus claves, su modelo freemium y sus servicios pro de pago. Migrar aplicaciones, como mi vetusto detector de idiomas, viene a ser equivalente a colgarlas modo ex novo en shinyapps.io: ...

15 de abril de 2015 · Carlos J. Gil Bellosta

Las VII Jornadas de Usuarios de R, en Salamanca este noviembre

Pues eso, que arrancan. Los detalles, aquí. Nota: Si encontráis algún error, avisad. La mejor manera es abrir un issue en Github.

13 de abril de 2015 · Carlos J. Gil Bellosta

TelegRam[.]me!

Telegram es un sistema de mensajería por internet similar a WhatsApp, aunque con algunas diferencias notables: No es de Facebook Una vez tienes una cuenta, puedes usarla desde distintos dispositivos (Linux incluido) Tiene menos usuarios Es programable De lo último es ilustración esta “conversación” que tuve con la cuenta @TeleR: Los detalles, aquí. Y el crédito, para Rubén Tobalina.

7 de abril de 2015 · Carlos J. Gil Bellosta

Taller de mapas con R el 14 de abril en Madrid

Mi entrada de hoy es para anunciar un taller de mapas con R que tendrá lugar el día 14 de abril de 18 a 21 horas en Martina Cocina (cómo llegar). Lo impartirá Beatriz Martínez, socióloga dedicada a la investigación social y de mercados, que ha trabajado en numerosos proyectos: desde investigación digital al desarrollo rural o programas de inclusión social. Está especializada en la la visualización de datos. Algunos de sus trabajos pueden verse en visualizados.com. ...

6 de abril de 2015 · Carlos J. Gil Bellosta

Pues sí: un curso de redes sociales con 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.

25 de marzo de 2015 · Carlos J. Gil Bellosta

Compresión con SVD

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

24 de marzo de 2015 · Carlos J. Gil Bellosta

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

19 de marzo de 2015 · Carlos J. Gil Bellosta

Datos en formato largo y melt

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

12 de marzo de 2015 · Carlos J. Gil Bellosta