Aspectos basicos de´ Ren la automatizacion del an´ alisis...

25
agina www agina de Abertura Contenido agina 1 de 25 Regresar Full Screen Cerrar Abandonar Aspectos b´ asicos de R en la automatizaci ´ on del an´ alisis y la representaci´ on de datos Jos´ e Antonio Palaz´ on Ferrando [email protected] Dpto. Ecolog´ ıa e Hidrolog´ ıa Universidad de Murcia. Murcia, 16 de julio, 2003

Transcript of Aspectos basicos de´ Ren la automatizacion del an´ alisis...

Page 1: Aspectos basicos de´ Ren la automatizacion del an´ alisis ...fobos.inf.um.es/palazon/presentaciones/R2003.pdf · P´agina www P´agina de Abertura Contenido JJ II J I P´agina 2

Pagina www

Pagina de Abertura

Contenido

JJ II

J I

Pagina 1 de 25

Regresar

Full Screen

Cerrar

Abandonar

Aspectos basicos de R en laautomatizacion del analisis

y la representacion de datos

Jose Antonio Palazon Ferrando [email protected]

Dpto. Ecologıa e HidrologıaUniversidad de Murcia.

Murcia, 16 de julio, 2003

Page 2: Aspectos basicos de´ Ren la automatizacion del an´ alisis ...fobos.inf.um.es/palazon/presentaciones/R2003.pdf · P´agina www P´agina de Abertura Contenido JJ II J I P´agina 2

Pagina www

Pagina de Abertura

Contenido

JJ II

J I

Pagina 2 de 25

Regresar

Full Screen

Cerrar

Abandonar

Introduccion: datos y procedimientos

• Mecanizacion adecuada de los datos

→ Minimizar errores en la entrada de datos

• Automatizacion de los protocolos de analisis

→ Evitar errores de procedimiento

• Personalizacion de los protocolos

→ Optimiza el trabajo

Page 3: Aspectos basicos de´ Ren la automatizacion del an´ alisis ...fobos.inf.um.es/palazon/presentaciones/R2003.pdf · P´agina www P´agina de Abertura Contenido JJ II J I P´agina 2

Pagina www

Pagina de Abertura

Contenido

JJ II

J I

Pagina 3 de 25

Regresar

Full Screen

Cerrar

Abandonar

Necesitamos

• Facilidad para manipular los datos

• Facilidad para realizar analisis y represen-tacion de datos

• Facilidad para escribir, modificar y leerprotocolos

Page 4: Aspectos basicos de´ Ren la automatizacion del an´ alisis ...fobos.inf.um.es/palazon/presentaciones/R2003.pdf · P´agina www P´agina de Abertura Contenido JJ II J I P´agina 2

Pagina www

Pagina de Abertura

Contenido

JJ II

J I

Pagina 4 de 25

Regresar

Full Screen

Cerrar

Abandonar

Herramientas

• R: Nos da la posibilidad de utilizar S el lenguajeestadıstico orientado a objetos para analisis y repre-sentacion de datos

Page 5: Aspectos basicos de´ Ren la automatizacion del an´ alisis ...fobos.inf.um.es/palazon/presentaciones/R2003.pdf · P´agina www P´agina de Abertura Contenido JJ II J I P´agina 2

Pagina www

Pagina de Abertura

Contenido

JJ II

J I

Pagina 5 de 25

Regresar

Full Screen

Cerrar

Abandonar

Objetivos del taller

Conocer mejor el lenguaje S y el uso de R

• Aprender a crear y escribir protocolos

• Aprender a usar y construir funciones

• Crear y personalizar graficos

• Exportar resultados, tablas y graficos

Page 6: Aspectos basicos de´ Ren la automatizacion del an´ alisis ...fobos.inf.um.es/palazon/presentaciones/R2003.pdf · P´agina www P´agina de Abertura Contenido JJ II J I P´agina 2

Pagina www

Pagina de Abertura

Contenido

JJ II

J I

Pagina 6 de 25

Regresar

Full Screen

Cerrar

Abandonar

Elementos de R

• Objetos-variables: vectores, matrices, listas, ...

• Operadores: aritmeticos y logicos

• Funciones: librerıas y funciones de usuario

• Expresiones

• ...

Page 7: Aspectos basicos de´ Ren la automatizacion del an´ alisis ...fobos.inf.um.es/palazon/presentaciones/R2003.pdf · P´agina www P´agina de Abertura Contenido JJ II J I P´agina 2

Pagina www

Pagina de Abertura

Contenido

JJ II

J I

Pagina 7 de 25

Regresar

Full Screen

Cerrar

Abandonar

Ejemplo 1

x<-rnorm(1000)hist(x)hist(x)->h.xdev.off()plot(h.x)

Page 8: Aspectos basicos de´ Ren la automatizacion del an´ alisis ...fobos.inf.um.es/palazon/presentaciones/R2003.pdf · P´agina www P´agina de Abertura Contenido JJ II J I P´agina 2

Pagina www

Pagina de Abertura

Contenido

JJ II

J I

Pagina 8 de 25

Regresar

Full Screen

Cerrar

Abandonar

Tipos de objetos en R

• vectores: conjuntos ordenados de valores

• factores: vectores con sus valores codificados

• arrays es un vector con dimensiones

• matrices es un array con dos dimensiones

• lista: equivalente a la matriz pero con distintostipos de datos en sus columnas (numericos,cadenas, logicos, factores, ...)

• estructura de datos: Objeto en en el que seincluyen: matrices, listas, ...

Page 9: Aspectos basicos de´ Ren la automatizacion del an´ alisis ...fobos.inf.um.es/palazon/presentaciones/R2003.pdf · P´agina www P´agina de Abertura Contenido JJ II J I P´agina 2

Pagina www

Pagina de Abertura

Contenido

JJ II

J I

Pagina 9 de 25

Regresar

Full Screen

Cerrar

Abandonar

Ejemplo 1 (cont.)

¿Como podemos obtener informacion sobre losobjetos x y h.x?

mode(x)typeof(x)

names(h.x)str(h.x)mode(h.x)mode(h.x$counts)attributes(h.x)

Page 10: Aspectos basicos de´ Ren la automatizacion del an´ alisis ...fobos.inf.um.es/palazon/presentaciones/R2003.pdf · P´agina www P´agina de Abertura Contenido JJ II J I P´agina 2

Pagina www

Pagina de Abertura

Contenido

JJ II

J I

Pagina 10 de 25

Regresar

Full Screen

Cerrar

Abandonar

Funciones

Elementos de una funcion:

nombre ( argumentos, opciones )→ obligatorio: nombre y parentesis

→ argumentos y opciones: valores, objetos oexpresiones

→ etiqueta=expresion si se altera el orden enque la funcion espera el valor

Ejemplo:• hist(x,9): representar el histograma, con 9

clases, del vector x.

• hist(x,main="Histograma de x"): se calculael numero de clases por la regla de Sturges y seescribe un tıtulo.

Page 11: Aspectos basicos de´ Ren la automatizacion del an´ alisis ...fobos.inf.um.es/palazon/presentaciones/R2003.pdf · P´agina www P´agina de Abertura Contenido JJ II J I P´agina 2

Pagina www

Pagina de Abertura

Contenido

JJ II

J I

Pagina 11 de 25

Regresar

Full Screen

Cerrar

Abandonar

Funciones

• Libreria base

• Librerias de la distribucion basica:

• Librerias disponibles enhttp://cran.au.r-project.org/:Contributed packages (234)

• Funciones de usuario

Page 12: Aspectos basicos de´ Ren la automatizacion del an´ alisis ...fobos.inf.um.es/palazon/presentaciones/R2003.pdf · P´agina www P´agina de Abertura Contenido JJ II J I P´agina 2

Pagina www

Pagina de Abertura

Contenido

JJ II

J I

Pagina 12 de 25

Regresar

Full Screen

Cerrar

Abandonar

Uso y ayudas para trabajar con funciones

• library(): muestra las librerias diponibles

• library(libreria): carga la libreria en memoria

• library(help=libreria): da informacion sobrela libreria, sin cargarla

• apropos(expresion regular): proporciona unarelacion de funciones asociadas a la expresionregular (ej.: ”mean”, ”*err*”)

Page 13: Aspectos basicos de´ Ren la automatizacion del an´ alisis ...fobos.inf.um.es/palazon/presentaciones/R2003.pdf · P´agina www P´agina de Abertura Contenido JJ II J I P´agina 2

Pagina www

Pagina de Abertura

Contenido

JJ II

J I

Pagina 13 de 25

Regresar

Full Screen

Cerrar

Abandonar

Ejemplo 2

Funcion para el calculo de la diversidad de Shannon:

Hs = −n∑

i=1

pi log2(pi)

siendo:pi =

xi∑ni=1 xi

y xi cada una de las medidas realizadas sobre el objeto.

diversidad <-function (x){p<-x/sum(x);(-sum(P*log2(p)))}

¡Para comprobar que funciona necesitamos ejemplos fiables!

Page 14: Aspectos basicos de´ Ren la automatizacion del an´ alisis ...fobos.inf.um.es/palazon/presentaciones/R2003.pdf · P´agina www P´agina de Abertura Contenido JJ II J I P´agina 2

Pagina www

Pagina de Abertura

Contenido

JJ II

J I

Pagina 14 de 25

Regresar

Full Screen

Cerrar

Abandonar

Representacion grafica de datos

La representacion de los datos esta condicionada por la sim-plificacion o mejora en el analisis de la informacion.

Ejemplos de buenas y malas practicas en:→ http://www.math.yorku.ca/SCS/Gallery/

Utilizamos los graficos para:

• Describir de las propiedades de una variable:distribucion

• Representar las relaciones entre dos variables

• Busqueda de patrones

• ...

Page 15: Aspectos basicos de´ Ren la automatizacion del an´ alisis ...fobos.inf.um.es/palazon/presentaciones/R2003.pdf · P´agina www P´agina de Abertura Contenido JJ II J I P´agina 2

Pagina www

Pagina de Abertura

Contenido

JJ II

J I

Pagina 15 de 25

Regresar

Full Screen

Cerrar

Abandonar

Las funciones graficas basicas

plot() curve() par()

points() lines() text()

mtext() segments() rect()

polygon() arrows() ablines()

rug()

Page 16: Aspectos basicos de´ Ren la automatizacion del an´ alisis ...fobos.inf.um.es/palazon/presentaciones/R2003.pdf · P´agina www P´agina de Abertura Contenido JJ II J I P´agina 2

Pagina www

Pagina de Abertura

Contenido

JJ II

J I

Pagina 16 de 25

Regresar

Full Screen

Cerrar

Abandonar

Ejemplo 3

x<-1:10plot (x)plot (x,col=2)plot (x,col=x)

Uso de plot()

plot(x, y, xlim = range(x), ylim = range(y),type="p", main, xlab, ylab, ..., axes, ann, ...,xaxs, yaxs, ... )

Page 17: Aspectos basicos de´ Ren la automatizacion del an´ alisis ...fobos.inf.um.es/palazon/presentaciones/R2003.pdf · P´agina www P´agina de Abertura Contenido JJ II J I P´agina 2

Pagina www

Pagina de Abertura

Contenido

JJ II

J I

Pagina 17 de 25

Regresar

Full Screen

Cerrar

Abandonar

Ejercicio 1

Utilizando los datos iris:

• Representar la longitud del sepalo frente a lalongitud del petalo

• Representar cada individuo por un color asocia-do a la especie

• Anadir a la representacion una rejilla de mallaunidad

Page 18: Aspectos basicos de´ Ren la automatizacion del an´ alisis ...fobos.inf.um.es/palazon/presentaciones/R2003.pdf · P´agina www P´agina de Abertura Contenido JJ II J I P´agina 2

Pagina www

Pagina de Abertura

Contenido

JJ II

J I

Pagina 18 de 25

Regresar

Full Screen

Cerrar

Abandonar

Parametros graficos

La funcion par() contiene los valores que describen las ca-racterısticas del grafico: color del fondo, tamano de letra, ...:

par (adj, ann, ask, bg, bty, cex, cex.axis,cex.lab, cex.main, cex.sub, cin, col,col.axis, col.lab, col.main, col.sub, cra,crt, csi, cxy, din, err, fg, fig, fin, font,font.axis, font.lab, font.main, font.sub,gamma, lab, las, lty, lwd, mai, mar, mex,mfcol, mfg, mfrow, mgp, mkh, new, oma, omd,omi, pch, pin, plt, ps, pty, smo, srt, tck,tcl, tmag, type, usr, xaxp, xaxs, xaxt,xlog, xpd, yaxp, yaxs, yaxt, ylog)

Conviene “recordar los valores originales”:

par()->par.originales...par()<-par.originales

Page 19: Aspectos basicos de´ Ren la automatizacion del an´ alisis ...fobos.inf.um.es/palazon/presentaciones/R2003.pdf · P´agina www P´agina de Abertura Contenido JJ II J I P´agina 2

Pagina www

Pagina de Abertura

Contenido

JJ II

J I

Pagina 19 de 25

Regresar

Full Screen

Cerrar

Abandonar

Representacion de datos

• Distribucion de frecuencias

→ variables continuas: hist()

→ variables discretas o cualitativas: pie(),barplot() y plot(), que deben aplicarsesobre tablas (table())

• Tablas de doble entrada: dotchart(), barplot()

• Nubes de puntos: plot(), pairs()

• Interacciones: coplot()

• ...

Page 20: Aspectos basicos de´ Ren la automatizacion del an´ alisis ...fobos.inf.um.es/palazon/presentaciones/R2003.pdf · P´agina www P´agina de Abertura Contenido JJ II J I P´agina 2

Pagina www

Pagina de Abertura

Contenido

JJ II

J I

Pagina 20 de 25

Regresar

Full Screen

Cerrar

Abandonar

Preparando un protocolo

• Almacenamiento del historico de la sesion detrabajo: savehistory()

• Manipulacion del historico: editor de textos (vim,emacs, joe, scite pico, ... block de notas)

• Utilizacion del guion mediante: source()

• Truquillos de recorta y pega

• Truquillos de depuracion

Page 21: Aspectos basicos de´ Ren la automatizacion del an´ alisis ...fobos.inf.um.es/palazon/presentaciones/R2003.pdf · P´agina www P´agina de Abertura Contenido JJ II J I P´agina 2

Pagina www

Pagina de Abertura

Contenido

JJ II

J I

Pagina 21 de 25

Regresar

Full Screen

Cerrar

Abandonar

Ejercicio 2

Utilizando los resultados del ejercicio 1 prepara un protocoloque represente el grafico solicitado:

• Guardar el historico del proceso (el nombre delfichero: rep.iris.R

• Editar el fichero conservando las lıneas conve-nientes

• Evaluar su funcionamiento y prepararlo para unapresentacion bien documentada: Tıtulo, ejes ...

Page 22: Aspectos basicos de´ Ren la automatizacion del an´ alisis ...fobos.inf.um.es/palazon/presentaciones/R2003.pdf · P´agina www P´agina de Abertura Contenido JJ II J I P´agina 2

Pagina www

Pagina de Abertura

Contenido

JJ II

J I

Pagina 22 de 25

Regresar

Full Screen

Cerrar

Abandonar

Ejercicio 3

Considerando los resultados de los ejercicios anteriores pre-para una funcion (migraf())que represente el grafico quecumpla las condiciones siguientes:

• Se dispone de tres variables: x e x cuantitativas yz cualitativa

• Se desea representar una nube de puntos (y,x)

• El simbolo que representa a los puntos depen-dera de z

• Al llamar a la funcion se le indicara el tıtulo delgrafico

Page 23: Aspectos basicos de´ Ren la automatizacion del an´ alisis ...fobos.inf.um.es/palazon/presentaciones/R2003.pdf · P´agina www P´agina de Abertura Contenido JJ II J I P´agina 2

Pagina www

Pagina de Abertura

Contenido

JJ II

J I

Pagina 23 de 25

Regresar

Full Screen

Cerrar

Abandonar

Exportacion de graficos

• R puede utilizar varios formatos de exportacion degraficos: X11(), postscript(), pdf(), pictex(),png(), jpeg(), GTK(), GNOME(), xfig(), bitmap()

• Adicionalmente pueden ser incoporados resursosdependientes de la plataforma: formato metawindows

• Existe una libreria que permite exportar los graficos aXML

Ejemplo

pdf(′′mifigura.pdf′′)source(′′rep.iris.R′′)dev.off()

Page 24: Aspectos basicos de´ Ren la automatizacion del an´ alisis ...fobos.inf.um.es/palazon/presentaciones/R2003.pdf · P´agina www P´agina de Abertura Contenido JJ II J I P´agina 2

Pagina www

Pagina de Abertura

Contenido

JJ II

J I

Pagina 24 de 25

Regresar

Full Screen

Cerrar

Abandonar

Multiples graficos por pagina

Pueden crearse varios graficos en una pagina utilizan-do:

• la funcion; layout()

• modificando el parametro mfrow o mfcolde par()

Ejemplo:

par(mfrow=c(3,1))lapply(iris,hist)

Page 25: Aspectos basicos de´ Ren la automatizacion del an´ alisis ...fobos.inf.um.es/palazon/presentaciones/R2003.pdf · P´agina www P´agina de Abertura Contenido JJ II J I P´agina 2

Pagina www

Pagina de Abertura

Contenido

JJ II

J I

Pagina 25 de 25

Regresar

Full Screen

Cerrar

Abandonar

Animaciones con R

• Pueden conseguirse una animacion superpo-niendo las imagenes obtenidas para condicionescambiantes

• Presentado en pantalla o almacenando en fiche-ros graficos y montando una animacion

Ejemplo:

example(persp)

for (i in 1:60*5)persp(x,y,z,theta=i,phi=30,col="green3",scale=FALSE,ltheta=-120,shade=0.75,border=NA,box=FALSE)