Aspectos basicos de´ Ren la automatizacion del an´ alisis...
Transcript of Aspectos basicos de´ Ren la automatizacion del an´ alisis...
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
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)