viernes, 26 de octubre de 2012

Estadística divertida con R

En la anterior entrada sobre la Teoría de la Perturbación Intermedia, podéis encontrar una figura que está construida con R. R es un lenguaje de programación y paquete estadístico de distribución libre.

Para todos los que venimos de paquetes más gráficos como SPSS, Statistica o Statgraphics nos es un poco ortopédico al principio volver a trabajar con una consola de texto. Pero cuando uno descubre todas las posibilidades y la libertad que da una aplicación de estas características, el enamoramiento es irreversible. Además, meterse a aprender a utilizar R obliga a uno a refrescar sus conocimientos de estadística, lo cual no viene nada mal.

Hay multitud de interface gráficas para trabajar con R, aunque siempre sin dejar de lado la necesidad de introducir las órdenes principales mediante la línea de comandos. Yo utilizo RStudio.

Siempre que me sea posible, os dejaré en el blog el código con el que he hecho las cosas en R, de forma que podáis reproducirlo y modificarlo a vuestro gusto. Es muy útil cuando uno está aprendiendo a defenderse con R.

Esta gráfica es muy sencillita. Como tiene forma de distribución normal, hemos creado primero dos vectores de 200 datos arbitrarios, uno de una secuencia de -1 hasta 1 y, el otro, con la distribución normal para el primero:

disturb <- seq (-1,1,.01) #Vector de -1 a 1 con datos cada 0.01

div <- dnorm (disturb) #Vector con distribución normal del vector disturb


#Dibujo de los dos vectores de tipo línea, sin ejes y sin etiquetas
plot (disturb,div, type="l",xlab="",ylab="",axes=FALSE,lwd=2)

box (lwd=2,bty="l") #Caja alrededor del gráfico

#Textos para los ejes
mtext ("Diversidad",2,2,cex=1.3)
mtext ("(Unidades arbitrarias)",2,1,cex=1.3)
mtext ("Frecuencia/Intensidad de perturbación",1,1,cex=1.3)
mtext ("(Unidades arbitrarias)",1,2,cex=1.3)

lines (c(-1,1),c(0.3989423,0.2419707),lwd=2,lty=2) #Línea de competencia

text (0.35,0.30,"Competencia",srt=-35, cex=1.3) #Texto sobre la línea de competencia

Sé que existen mejores formas para poner el código, más elegantes. Dadme tiempo, ya las iré metiendo.