next up previous contents
Next: Grace Up: Estadística Previous: Estadística

R

R es un sistema para análisis estadístico que permite calcular parámetros, hacer inferencia , construir todo tipo de gráficos de alta calidad, etc. La página principal del programa es:

http://www.r-project.org/

Desde ella puede bajarse la última versión del programa usando cualquiera de los mirrors a los que se accede pulsando sobre downloads. Así mismo, pulsando sobre Documentation $ \rightarrow$Contributed tendremos a nuestra disposición diferente documentación sobre R, de entre ella tres manuales en castellano:

Nosotros instalaremos la versión 1.9.0 directamente del repositorio de Debian, para ello, como siempre, desde un terminal ejecutarmos:

# apt-get install r-gnome

Se instalarán los siguientes paquetes extras:

atlas3-base libg2c0 libgcc1 libncurses5 libncurses5-dev libpcre3 r-base-core zlib-bin

Paquetes sugeridos:

lapack3 r-doc-info r-doc-pdf r-doc-html r-base-html r-base-latex ess

Paquetes recomendados

r-base-dev r-cran-gtkdevice

Se instalarán los siguientes paquetes NUEVOS:

atlas3-base libg2c0 r-base-core r-gnome zlib-bin

Se actualizarán los siguientes paquetes

libgcc1 libncurses5 libncurses5-dev libpcre3

4 actualizados, 5 se instalarán, 0 para eliminar y 573 no actualizados.

Necesito descargar 12,3MB de archivos.

Se utilizarán 37,6MB de espacio de disco adicional después de desempaquetar.

¿Desea continuar? [S/n]

Instalar también los paquetes sugeridos y recomendados.

Una vez instalados, para ejecutar el programa , desde un terminal gráfico escribimos:

$ R

Aparecerá el mensaje que reproducimos debajo y al final de éste el promp de entrada de órdenes del programa, en el mensaje se nos indica que para salir hay que escribir q().

 

R : Copyright 2004, The R Foundation for Statistical Computing

Version 1.9.0 (2004-04-12), ISBN 3-900051-00-3

 

R is free software and comes with ABSOLUTELY NO WARRANTY.

You are welcome to redistribute it under certain conditions.

Type 'license()' or 'licence()' for distribution details.

 

R is a collaborative project with many contributors.

Type 'contributors()' for more information and

'citation()' on how to cite R in publications.

 

Type 'demo()' for some demos, 'help()' for on-line help, or

'help.start()' for a HTML browser interface to help.

Type 'q()' to quit R.

 

>

 

Si deseamos acceder a la completa ayuda que trae podemos ejecutar:

> help()
o en modo html

>help.start()
Para ver algunos ejemplos de los gráficos que podemos hacer con el programa, escribiremos:

>demo(graphics)
y pulsaremos, teniendo activa la ventana del terminal, sobre la tecla Intro varias veces hasta que finalice la presentación.

\includegraphics[%
width=70mm]{graficos/57/r_demo_graphics.ps}

para salir:

> q()
229 Para practicar:
 
En el fichero fechas.dat (se puede bajar del servidor y visualizar por ejemplo con gedit) hay una tabla de datos que contiene el sexo, fecha de nacimiento y defunción de una población de 375 individuos. Vamos a ver algunas cuestiones básicas que podemos hacer desde R.

  1. Creamos un directorio en donde poner el trabajo que vamos a realizar. Por ejemplo:

    $mkdir fechas

    y ponemos en él el fichero fechas.dat bajado de la página del curso.

  2. Desde el directorio fechas comencemos una sesión del programa.

    $R

    > datos.fechas<-read.table("fechas.dat",header=TRUE)

    > names(datos.fechas)

    [1] "Sexo" "an" "fm"
    Con la primera línea leemos el contenido del fichero fechas.dat y lo ponemos en la variable datos.fechas. Notar que hemos añadido la opción de que la primera línea del fichero es el nombre de los campos contenidos en él. Podemos ver cúales son con el comando de la 2^a línea.

    Para no tener que acceder a los nombres de los campos con la nomenclatura variable.$nombrecampo, ejecutamos:

    > attach(datos.fechas)
    a partir de ahora podemos referenciar un campo sólo por su nombre. Obtengamos algunos datos sobre la variable an (año de nacimiento)

    > summary(an)

    Min. 1st Qu. Median Mean 3rd Qu. Max.

    1822  1905   1927  1929 1960   1997
    Obtenemos el valor máximo, mínimo, la media y los cuartiles de esta variable.5.12 Obtengamos la media, mediana, varianza, desviación típica y rangos de la variable an:

    > mean(an)

    [1] 1929.133

    > median(an)

    [1] 1927

    > var(an)

    [1] 1122.453

    > sqrt(var(an))

    [1] 33.50303

    > sd(an)

    [1] 33.50303

    > range(an)

    [1] 1822 1997
    Para caracteres cualitativos:

    > summary(Sexo)

     h   m

    228 147
  3. Estadística bidimensional: obtengamos la covarianza, coeficiente de correlación y la nube de puntos (modificando el ``punto'' por defecto a relleno y color rojo) de las dos variables cuantitativas

    > cov(an,fm)

    [1] 419.8520

    > cor(an,fm)

    [1] 0.6177829

    > plot(an, fm, pch=20, col=''red'')

    \includegraphics[%
width=65mm]{graficos/57/r_fechas_plot_1.ps}

    Con:

    >lm(an~fm)

     

    Call:

    lm(formula = an ~ fm)

     

    Coefficients:

      (Intercept)    fm

      -94.181      1.020
    otenemos la ordenada en el origen y la pendiente de la recta de regresión de an sobre fm, y con:

    >lm(fm~an)

     

    Call:

    lm(formula = fm ~ an)

     

    Coefficients:

      (Intercept)    an

      1261.3968     0.3740
    la ordenada en el origen y la pendiente de la recta de regresión de fm sobre an.

    La función abline permite añadir una línea, definida por la ordenada en el origen y su pendiente, a un gráfico que esté activo. La secuencia de órdenes que siguen producirán el gráfico de abajo.

    > plot(an, fm, pch=20, col=''red'')

    > abline(lm(fm~an))

    \includegraphics[%
width=65mm]{graficos/57/r_fechas_regresion.ps}

  4. También podemos hacer un histograma con:

    > hist(fm)

    \includegraphics[%
width=65mm]{graficos/57/r_fechas_fm_hist_1.ps}

    Pero nos interesa adecuarlo a nuestro gusto y para eso ejecutamos:

    > hist(an, main="Curso Linux",xlab="Fecha nacimiento",ylab="Frecuencias",col="blue")

    \includegraphics[%
width=65mm]{graficos/57/r_fechas_hist_2.ps}

  5. Si deseamos guardar el fichero en formato png escribiremos:

    > png()

    > hist(an, main="Curso Linux",xlab="Fecha nacimiento",ylab="Frecuencias",col="blue")

    El programa guardará el gráfico en el directorio de trabajo en un fichero de nombre Rplotxxx.png.5.13 Con

    >x11()

    dejamos las cosas como estaban.

  6. salimos (y guardamos la sesión) con5.14:

    >q()

El modo comando nos sobrecoge, ante el prompt, la pregunta suele ser ¿qué hago ahora? Seguramente ningura respuesta valga para todos, pero sin duda, las posibilidades del programa son inmensas y la documentación, tanto en línea como la de los documentos mencionados es excelente.



Footnotes

...5.12
Si no hubiésemos ejecutado el comando attach, tendríamos que haber escrito

> summary(datos.fechas$an)

...Rplotxxx.png.5.13
Si queremos dar un nombre particular al fichero, debemos especificarlo previamente con la orden png(filename=''nombre_fichero'')
... con5.14
Antes de salir nos preguntará si queremos guardar la imagen del espacio de trabajo (se guardan todas las órdenes introducidas en la sesión), lo mejor sería decir que sí. Podemos guardar el espacio de trabajo en cada directorio en donde ejecutamos R, así, según el trabajo que estemos realizando disponemos de la posibilidad de tener distintas sesiones de trabajo guardadas en función del directorio desde donde lo hayamos llamado.

next up previous contents
Next: Grace Up: Estadística Previous: Estadística

2004-05-16