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

Preview:

Citation preview

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 palazon@um.es

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

Murcia, 16 de julio, 2003

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

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

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

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

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

• ...

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)

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, ...

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)

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.

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

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*”)

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!

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

• ...

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()

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, ... )

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

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

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()

• ...

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

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 ...

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

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()

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)

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)

Recommended