¿Cuántos peces hay en un lago?
Quien haya estudiado estadística o probabilidad en algún tipo de institución que ofrece educación reglada se habrá topado con el problema de estimar el número de peces de un lago.
Esencialmente, lo que puede hacerse (dado que es imposible realizar un censo completo) es lo siguiente:
- Pescar cierto número de peces, p1, marcarlos y devolverlos al lago.
- Pescar cierto número de peces, p2, y contar cuántos de ellos fueron marcados el día anterior, n.
- Estimar el número de peces como p1 * p2 / n (dado que la proporción de peces marcados en el lago, p1 / x debiera ser similar a la de pescados el segundo día, n / p2).
Con R puede hacerse una estimación (incluso del error), así:
Ayuda de R en español
He ejecutado hoy tres ficheros secuencialmente:
#!/bin/bash
wget -nd -r -l1 --accept gz https://stat.ethz.ch/pipermail/r-help-es/
zcat *.gz > all_mails
rm *.gzen sh,
#!/usr/bin/python
import mailbox
from email.utils import parsedate
from time import mktime
for message in mailbox.mbox('all_mails'):
fecha = parsedate(message["date"])
print str(fecha[0]) + "-" + str(fecha[1])en Python y finalmente
#!/usr/bin/Rscript
library(zoo)
meses <- read.table("horas.txt")[,1]
meses <- paste(meses, "-1", sep = "")
meses <- table(meses)
meses <- zoo(meses, order.by = strptime(names(meses), format = "%Y-%m-%d"))
png("uso_r_help_es.png")
plot(meses)
dev.off()en R para construir
y constatar que la lista de correo de ayuda de R en español está en crisis.
Requisitos para mi taller de Hadoop + R en las V Jornadas de Usuarios de R
El jueves 12 de diciembre impartiré un taller titulado Big data analytics: R + Hadoop en las V Jornadas de Usuarios de R.
Va a ser un taller práctico y eso exige de los asistentes que quieran aprovecharlo disponer de una plataforma (¡no trivial!) sobre la que seguirlo y poder realizar los ejercicios. Además de poder seguir ahondando en el asunto después y por su cuenta.
Los requisitos son los siguientes:
Software:
Óscar Perpiñán sobre gráficos base vs. lattice vs ggplot2
Óscar Perpiñán es alguien a quien tenéis que conocer necesariamente si os interesan, entre otras cosas, temas como la visualización de datos espaciotemporales. Y tiene un blog muy recomendable.
Recientemente me ha dado permiso para reproducir aquí una respuesta suya en un hilo planteado en r-help-es sobre los distintos mecanismos existentes en R para generar gráficos. Lo hago a continuación con mínimos retoques tipográficos:
La ventaja esencial de los gráficos grid (lattice y ggplot2) frente a los gráficos base es su mayor flexibilidad para añadir o modificar el contenido. Un gráfico grid es un objeto más en R y, como tal, puede ser manipulado con los métodos que cada paquete define. Existen dos librerías fundamentales en el mundo grid, lattice y ggplot2.
¿Dónde van los ejes?
Buscando una versión pirata del libro Show Me the Numbers de Stephen Few di con un curso homónimo del mismo del que rescato y aprovecho para divulgar la respuesta a una pregunta que no me había planteado antes: ¿dónde van los ejes?
Y la respuesta, sin palabras:
Cuatro principios para tomar mejores decisiones
Proceden de un número de McKinsey Quarterly de este año y se organizan alrededor del acrónimo WARP:
- W (widen your options, incrementa tus opciones): considera al menos dos opciones robustas para cada toma de decisiones.
- R (reality-test your assumptions, somete tus hipótesis a un baño de realidad): trata de realizar pequeñas pruebas de verificación.
- A (attain some distance, distánciate): trata de revisar el asunto como si te fuese ajeno, desde afuera.
- P (prepare to be wrong, prepárate para el fracaso): plantea un plan de salida claro desde el principio: si no logro esto y esto en tal plazo…
Un pequeño problema de probabilidad
El tuit
de John Allen Paulos me indujo a escribir
number.numbers <- function(n){
sum(cumsum(sample(0:n)) < n) + 1
}
res <- replicate(10000, number.numbers(1000))código con el que, efectivamente, puede comprobarse que la media es, efectivamente, e.
Ahora bien, ¿alguien se atreve a explicar por qué?
(No leas esta pista: (s??)?s??).
rPython, ya en Windows
Aprovechando que por un lado las circunstancias han querido que ahora disfrute de más tiempo libre; que, por otro, mi paquete rPython parece ir ganando aceptación y, finalmente, que tengo varios correos pendientes clamando por una versión en Windows, he pasado unos ratos tratando de hacer el proceso de instalación lo menos pesado y manual que me ha sido posible.
Y el resultado ha sido este.
Así que si alguien todavía sigue usando Windows y tiene interés en interactuar con Python desde R (aunque solo sea por aburrimiento), que lo pruebe. Y si algo se rompe, que me lo haga saber para parchear el proceso.
La monitorización del consumo eléctrico de los hogares
Una de mis manías más imprácticas es la de consultar el consumo de electricidad en tiempo real de Red Eléctrica Española antes de poner una lavadora. Me gusta hacerlo en los valles de consumo; o cuando para hacer circular electrones por cables de cobre contribuye menos a calentar el planeta. Aunque eso resulte en ruidos a deshora.
Una de las manías más imprácticas de las compañías eléctricas, estimo, es la de monitorizar el consumo de los hogares en tiempo real. Es decir, instalar contadores que informan del consumo cada cinco, diez o quince minutos. Conozco gente que trabaja (o intenta trabajar) en ese ámbito y me cuenta historias de horror sobre las ingentes (uso cursivas con fines sarcásticos) cantidades de datos con que esta moda castiga los servidores de las eléctricas.