Calculo estadístico

Datos, estadisticos y gráficos

En la actualidad el análisis de datos implica la tabulación de datos, el cálculo de estadísticos y la representación gráfica tanto de los datos como de los resultados del análisis. Puede elegirse entre una gran variedad de programas y estos porporcionan tanto interfaz de línea de comandos (CLI) como interfaz gráfica del usuario (GUI).

Un poco de historia

Una de las primeras aplicaciones que se dió a los ordenadores en el campo científico fué el cálculo estadístico, diversos programas permitian realizar de una forma sencilla estadísticos descritivos, análisis de la varianza, regresiones, y un largo etc. Tambien permitían representar gráficamente datos y resultados, si bien estas representaciones se basaban en periféricos que no daban resultados muy vistosos. La reunión de diversos programas que se unian con un sistema común de entrada de datos y que podían intercambiar resultados entre ello se denominó paquete estadístico.

El funcionamiento de estos paquetes se basaba en un fichero de datos y un fichero de instrucciones donde con un lenguaje más o menos sofisticado se le indicaba al programa los detalles de los cálculos a realizar.

Entre los primeros programas cabe destacar al BMDP (BMDP Biomedical Computers Programs) cuyo primer manual se publico en los primeros sesenta o el SPSS (Statistical Package for the Social Sciences), que se puso en marcha en 1968.

Ambos se desarrollarón en versión para mainframe, por aquellas fechas no existia la microinformática, y se distribuian en código fuente siendo preciso compilarlos en el sistema que permitiría exportarlos.

El trabajo con estos paquetes pasaba por un operador que transladaba las intrucciones del usuario al ordenador, generalmente con el concurso de tarjetas perforadas.

En muchos casos los autores publicaban los listados de los programas de análisis estadístico acompañando a sus artículos o libros, generalmente en lenguaje FORTRAN.

En la actualidad

Con la irrupción de los ordenadores personales el número de programas y paquetes estadísticos aumenta considerablemente. Poco a poco se hacen accesibles a un mayor público con la incorporación de interfaces gráficas. Los propios paquetes BMDP y SPSS realizan una migración a los ordenadores de sobremesa y la interfaz gráfica. En este cambio el segundo de ello logro un gran éxito como muestra su visibilidad en la web: BMDP 0.18×106 páginas y SPSS 10.8×106 páginas.

En la actualidad existe además de estos programas estadísticos, basados en lenguajes de programación clásicos, desarrollo de herramientas que proporcionan un lenguaje que simplifica la elaboración de funciones y librerías para cálculos estadíticos. Algunos están más orientados a otros tipos de cálculo como comenta en esta misma página el profesor Mira.

Fruto de esta forma de pensar, el desarrollo de un lenguaje estadístico ad hoc, y de la filosofía del software libre surge uno de los proyectos estadísticos mundiales más relevantes: R

R

R es un interprete del lenguaje estadístico S desarrollado inicialmente por John Chambers, creado por Ross Ihaka and Robert Gentleman; que se distribuye bajo licencia GPLv2 desde la página principal del proyecto en el llamado CRAN (Comprehensive R Archive Network). El interés de la comunidad científica por R se puede ver por los más de 55 mirrors o espejos de este CRAN.

R proporciona un entorno de trabajo para el cálculo estadístico y el grafismo. Se puede utilizar tanto en interfaz de línea de comando como en distintas interfaces gráficas. Además, R puede usarse en batch o integrarse en otros programas o, incluso el mismo, puede manejar a otros.

R es además una comunidad y los miembros de esta ha desarrollado nuevas capacidades en muchos casos especificas de distintos campos de investigación, quizás uno de los más conspicuos proyectos sea Bioconductor destinado al análisis y comprensión de los datos genómicos.

¿Qué podemos hacer con R?

R proporciona una amplia varidad de estadísticos:

  • Modelos lineales y no lieneales
  • Test clásicos: normalidad, ANOVA, bondad de ajuste, …
  • Series temporales
  • Técnicas multivariantes: clasificación y ordenación
  • Cálculo numérico, cálculo matricial

Además, una gran capacidad gráfica que puede ampliarse fácilmente

  • Gráficos (puntos, lineas, vectores, poligonos, …)
  • Bi y tridimensionales
  • Con interacción
  • Diversos medios de salida (pdf, jpg, svg, …)

Gracias a su capacidad para la simulación R proporciona una vía para la investigación y el aprendizaje de metodología.

¿Cómo funciona R?

R es un lenguaje basado en la evaluación de una expresión. Las más sencillas constarián de un sólo valor constante, por ejemplo: 3, que como resultado devolvería, obviamente, el valor tres. Las expresiones pueden ser relacionadas mediante un operador, por ej: 3+2. En la expresiones puenden participar funciones, por ej: sqrt(3+2), esto es la raiz cuadrada de la suma. El resultado de una expresión puede almacenarse en un objeto o variable mediante una asignación: a = sqrt(3). Las funciones admiten expresiones como argumentos y en general poseen más de uno y estos disponen de un valor por defecto.

Objetos

Los objetos o también llamados variables son nombres que respresenta a conjuntos de valores con una determinada estructura, el valor o valores se asocian a ese objeto mediante una asignación:

a <- 3  
a = 3

en ambos casos asociamos a la variable a el valor 3.

 b <- c(1,5,8,5,8,2,9,6)

b es un vector que contiene los valores 1, 5, …, se utiliza la función c() para concatenar valores.

 bs <- summary(b)

bs contiene el resumen estadístico de los valores de b:

 Min. 1st Qu.  Median    Mean 3rd Qu.    Max.    
 1.00    4.25    5.50    5.50    8.00    9.00 

Operadores

Como cualquier lenguaje R permite las operaciones aritméticas (+, -, *, …) y lógicas (==, !=, >, >=, …). Es posible definir operadores de usuario. Los operadores realizan los cálculos dependiendo del tipo de objetos que participen:

a + 8

devolvera 11, pero:

b + 8

devuelve:

9 13 16 13 16 10 17 14

Funciones

Como hemos visto en los ejemplos anteriores, las funciones son una plabra clave seguida de un paréntesis en el que se incluyen los argumentos:

log(a)

devuleve los logaritmos naturales de a. La funciones pueden utilizar los resultados de otras funciones como argumentos:

mean(log(a))

nos proporciona la media de los logaritmos de a.

R dispone de un gran número de funciones, en su distribución básica supera las 2700; estan organizadas en librerías (o blibliotecas de funciones), la comunidad ademas ha desarollado un gran número, en al actualidad, unas 1500 se hayan recogidas en la página oficial de R en los llamados contributed packages, algunas de estas librerías superan las docientas funciones.

La mayor dificulad de R estriba en conocer el uso de las funciones necesarias, que en general puede resumirse en unas pocas decenas. Pero la sistematica documentación y el sistema de ayudas de R permite manejarse razonablemente.

R, ejemplo de uso: Recta patrón de datos experimentales

Para realizar un recta patrón mediante un modelo lineal puede utilizarse la siguiente receta:

x<-c(3,6,9,15) 
y<-c(10,17,27,50)  
lm(y~x)->modelo  
summary(modelo)  
plot(x,y)  
abline(modelo) 
modelo$coeff

Puede utilizarse este ejemplo y comprobar como el programa, con un simple recorta y pega, devuelve los valores para construir la función:

y = 3.390476 * x - 1.971429 

R: colaboración

Si una palabra puede definir el software libre es colaboración, gracias a ella la comunidad de usuarios de R ha crecido de forma exponecial, a la par, las prestaciones de R han crecido de la misma forma. Este crecimiento supone para el usuario la necesidad de conocer y estar al día en numerosas librerías. Una forma de acercarse a ellas es mediante las vistas o views que describen para grandes temas las librerías más indicadas.

Las views disponibles son:

Como usar R

Para utilizar R puede:

  • instalarse en la propia máquina
    • Usuarios de windows:
      ejecutar el programa de instalación R-2.7.2-win32.exe o el de la versión que ofrezca la página de CARN.
    • Desde GNU/Linux:
      En todas las distribuciones pueden encontrase paquetes para la instalación de R, por ejemplo en debian o ubuntu: r-base-core y r-core,
  • utilizar un servidor Rweb
    lo que permite realizar los cálculo y gráficos en el servidor.

Línea de comandos

  • Linux: Desde una consola terminal puede utilizarse R sin ningún problema.
  • Windows: Desde este sistema puede utilizarse el sistema con una interfaz de línea de comandos, algunos detalles de su manejo puenden encontrarse en el material de prácticas de Diana M. Kelmansky: Introducción al lenguaje R

Interfaz gráfica

Se han desarrollado varias interfaces gráficas para R, entre ellas destaca R-commander. El aspecto de R-commader puede verse en la página principal del proyecto. Esta herramienta está completamente traducida al castellano. Una de sus ventajas es la presentación de las expresiones, en modo texto, de las opciones que se toman desde los menúes; por ello es muy interesante para usuarios 'noveles' con experiencia en otras herramientas estadísticas.

Las interfaces gráficas para R merecen una especial atención, puede encontrarse infomarción detallada en la página del proyecto, en el apartado http://www.sciviews.org/_rgui/R GUI. Una consideración importante: las interfaces gráficas puede ir desde la ayuda para la edición de código R hasta para temas específicos en el marco de una metodología dada, por ejemplo algunas interfaces estan destinadas a ecólogos o a una determinada librería.

Modelo de aánalisis de datos con R

Una apuesta por visualizar el proceso de análisis lleva al desarrollo de: The Statistical Lab, una herramienta que integra R en una interfaz gráfica que permite comprender mejor el uso de los datos, los procedimientos de cálculo de estadísticos, la manipulación de los datos y la realización de simulaciones. Para este programa existen diversos materiales materiales audiovisuales. Desafortunadamente sólo disponible para windows.

Así trabajo yo

Buscando un entorno de trabajo eficiente con R he llegado al siguiente método de trabajo. Para cada tabla de datos o tablas asociadas creo un directorio en el que tengo una copia de los datos y un fichero al que llamo protocolo.R. Abro tres terminales y con R una terminal adicional, así dispongo de cuatro terminales:

  • R
  • editor
  • gráfica de R
  • sistema

Una vez organizado el "entorno personal" puedo trabajar con gran comodidad. Reutilizo el código que ya había probado, con recorte y pega desde el editor, y genero nuevo, bien directamente en R o escribiéndolo en el editor para aprovechar la ventajas de este: coloreado de sintáxis, localización de parejas de paréntesis y corchetes, duplicado de líenas, etc.

La elección del editor depende de gustos y experiencia personal. Se pueden encontrar mucyas opiniones y sugerencias en la red sobre el uso de editores (en particular para R). Lo fundamental es: coloreado de sintaxis de R y emparejamiento de corchetes, paréntesis y llaves.

Docencia con R en la UMU y otras Universidades españolas

  • Licenciaturas de Biología y de Ciencias Ambientales
    • Geobotánica (ocw_umu)
    • Ecología metodológica y cuantitativa (ocw_umu)
    • Modelización de sistemas ambientales (ocw_umu)
  • Física
    • Laboratorio de Mecánica y Termondinámica
    • Estadística física
  • Informática
    • Estadística (ocw_umu)

Referencias para R

Publicaciones periodicas

Páginas de recusos para R

Proyectos generalistas con R

Bibliografía

Muchas publicaciones están disponibles desde la red, además hay un gran número de libros publicados por distintas editoriales.

Bajo licencia libre

Edición Impresa

  • Dalgaard, P. 2002. Introductory Statistics with R. Peter Dalgaard, Springer-Verlag
  • Venables WN y Ripley, BD. 2002. Modern Applied Statistics with S, 4ª edición. Springer-Verlag