Página www
Página de Abertura
Contenido
JJ
J
II
I
Página 1 de 25
Regresar
Full Screen
Cerrar
Abandonar
Aspectos básicos de R en la
automatización del análisis
y la representación de datos
José Antonio Palazón Ferrando
[email protected]
Dpto. Ecología e Hidrología
Universidad de Murcia.
Murcia, 16 de julio, 2003
Introducción: datos y procedimientos
• Mecanización adecuada de los datos
→ Minimizar errores en la entrada de datos
• Automatización de los protocolos de análisis
→ Evitar errores de procedimiento
• Personalización de los protocolos
→ Optimiza el trabajo
Página www
Página de Abertura
Contenido
JJ
J
II
I
Página 2 de 25
Regresar
Full Screen
Cerrar
Abandonar
Necesitamos
• Facilidad para manipular los datos
• Facilidad para realizar análisis y represen-
tación de datos
• Facilidad para escribir, modificar y leer
protocolos
Página www
Página de Abertura
Contenido
JJ
J
II
I
Página 3 de 25
Regresar
Full Screen
Cerrar
Abandonar
Herramientas
• R: Nos da la posibilidad de utilizar S el
lenguaje
estadístico orientado a objetos para análisis y repre-
sentación de datos
Página www
Página de Abertura
Contenido
JJ
J
II
I
Página 4 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 gráficos
• Exportar resultados, tablas y gráficos
Página www
Página de Abertura
Contenido
JJ
J
II
I
Página 5 de 25
Regresar
Full Screen
Cerrar
Abandonar
Elementos de R
• Objetos-variables: vectores, matrices, listas, ...
• Operadores: aritméticos y lógicos
• Funciones: librerías y funciones de usuario
• Expresiones
• ...
Página www
Página de Abertura
Contenido
JJ
J
II
I
Página 6 de 25
Regresar
Full Screen
Cerrar
Abandonar
Ejemplo 1
x<-rnorm(1000)
hist(x)
hist(x)->h.x
dev.off()
plot(h.x)
Página www
Página de Abertura
Contenido
JJ
J
II
I
Página 7 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 distintos
tipos de datos en sus columnas (numericos,
cadenas, lógicos, factores, ...)
• estructura de datos: Objeto en en el que se
incluyen: matrices, listas, ...
Página www
Página de Abertura
Contenido
JJ
J
II
I
Página 8 de 25
Regresar
Full Screen
Cerrar
Abandonar
Ejemplo 1 (cont.)
¿Cómo podemos obtener información sobre los
objetos x y h.x?
mode(x)
typeof(x)
names(h.x)
str(h.x)
mode(h.x)
mode(h.x$counts)
attributes(h.x)
Página www
Página de Abertura
Contenido
JJ
J
II
I
Página 9 de 25
Regresar
Full Screen
Cerrar
Abandonar
Funciones
Elementos de una función:
nombre ( argumentos, opciones)
→ obligatorio: nombre y paréntesis
→ argumentos y opciones: valores, objetos o
expresiones
→ etiqueta=expresión si se altera el orden en
que la función espera el valor
Ejemplo:• hist(x,9): representar el histograma, con 9
clases, del vector x.
• hist(x,main="Histograma de x"): se calcula
el número de clases por la regla de Sturges y se
escribe un título.
Página www
Página de Abertura
Contenido
JJ
J
II
I
Página 10 de 25
Regresar
Full Screen
Cerrar
Abandonar
Funciones
• Libreria base
• Librerias de la distribución básica:
• Librerias disponibles en
http://cran.au.r-project.org/:
Contributed packages (234)
• Funciones de usuario
Página www
Página de Abertura
Contenido
JJ
J
II
I
Página 11 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 información sobre
la libreria, sin cargarla
• apropos(expresión regular): proporciona una
relación de funciones asociadas a la expresión
regular (ej.: ”mean”, ”*err*”)
Página www
Página de Abertura
Contenido
JJ
J
II
I
Página 12 de 25
Regresar
Full Screen
Cerrar
Abandonar
Función para el cálculo de la diversidad de Shannon:
pi log2(pi)
i=1
siendo:
Ejemplo 2
Hs = − nX
xiPn
pi =
i=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!
Página www
Página de Abertura
Contenido
JJ
J
II
I
Página 13 de 25
Regresar
Full Screen
Cerrar
Abandonar
Representación gráfica de datos
La representación de los datos está condicionada por la sim-
plificación o mejora en el análisis de la información.
Ejemplos de buenas y malas prácticas en:
→ http://www.math.yorku.ca/SCS/Gallery/
Utilizamos los gráficos para:
• Describir de las propiedades de una variable:
distribución
• Representar las relaciones entre dos variables
• Búsqueda de patrones
• ...
Página www
Página de Abertura
Contenido
JJ
J
II
I
Página 14 de 25
Regresar
Full Screen
Cerrar
Abandonar
Las funciones gráficas básicas
curve()
plot()
points() lines()
mtext()
polygon() arrows()
par()
text()
segments() rect()
ablines()
rug()
Página www
Página de Abertura
Contenido
JJ
J
II
I
Página 15 de 25
Regresar
Full Screen
Cerrar
Abandonar
Ejemplo 3
x<-1:10
plot (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, ... )
Página www
Página de Abertura
Contenido
JJ
J
II
I
Página 16 de 25
Regresar
Full Screen
Cerrar
Abandonar
Ejercicio 1
Utilizando los datos iris:
• Representar la longitud del sépalo frente a la
longitud del pétalo
• Representar cada individuo por un color asocia-
do a la especie
• Añadir a la representación una rejilla de malla
unidad
Página www
Página de Abertura
Contenido
JJ
J
II
I
Página 17 de 25
Regresar
Full Screen
Cerrar
Abandonar
Parámetros gráficos
La función par() contiene los valores que describen las ca-
racterísticas del gráfico: color del fondo, tamaño 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
Página www
Página de Abertura
Contenido
JJ
J
II
I
Página 18 de 25
Regresar
Full Screen
Cerrar
Abandonar
Representación de datos
• Distribución de frecuencias
→ variables continuas: hist()
→ variables discretas o cualitativas: pie(),
barplot() y plot(), que deben aplicarse
sobre tablas (table())
• Tablas de doble entrada: dotchart(), barplot()
• Nubes de puntos: plot(), pairs()
• Interacciones: coplot()
• ...
Página www
Página de Abertura
Contenido
JJ
J
II
I
Página 19 de 25
Regresar
Full Screen
Cerrar
Abandonar
Preparando un protocolo
• Almacenamiento del histórico de la sesión de
trabajo: savehistory()
• Manipulación del histórico: editor de textos (vim,
emacs, joe, scite pico, ... block de notas)
• Utilización del guión mediante: source()
• Truquillos de recorta y pega
• Truquillos de depuración
Página www
Página de Abertura
Contenido
JJ
J
II
I
Página 20 de 25
Regresar
Full Screen
Cerrar
Abandonar
Ejercicio 2
Utilizando los resultados del ejercicio 1 prepara un protocolo
que represente el gráfico solicitado:
• Guardar el histórico del proceso (el nombre del
fichero: rep.iris.R
• Editar el fichero conservando las líneas conve-
nientes
• Evaluar su funcionamiento y prepararlo para una
presentación bien documentada: Título, ejes ...
Página www
Página de Abertura
Contenido
JJ
J
II
I
Página 21 de 25
Regresar
Full Screen
Cerrar
Abandonar
Ejercicio 3
Considerando los resultados de los ejercicios anteriores pre-
para una función (migraf())que represente el gráfico que
cumpla las condiciones siguientes:
• Se dispone de tres variables: x e x cuantitativas y
z cualitativa
• Se desea representar una nube de puntos (y,x)
• El simbolo que representa a los puntos depen-
derá de z
• Al llamar a la función se le indicará el título del
gráfico
Página www
Página de Abertura
Contenido
JJ
J
II
I
Página 22 de 25
Regresar
Full Screen
Cerrar
Abandonar
Exportación de gráficos
• R puede utilizar varios formatos de exportación de
gráficos: X11(), postscript(), pdf(), pictex(),
png(), jpeg(), GTK(), GNOME(), xfig(), bitmap()
• Adicionalmente pueden ser
incoporados resursos
dependientes de la plataforma: formato metawindows
• Existe una libreria que permite exportar los gráficos a
XML
Ejemplo
pdf(00mifigura.pdf00)
source(00rep.iris.R00)
dev.off()
Página www
Página de Abertura
Contenido
JJ
J
II
I
Página 23 de 25
Regresar
Full Screen
Cerrar
Abandonar
Múltiples gráficos por página
Pueden crearse varios gráficos en una página utilizan-
do:
• la función; layout()
• modificando el parámetro mfrow o mfcol
de par()
Ejemplo:
par(mfrow=c(3,1))
lapply(iris,hist)
Página www
Página de Abertura
Contenido
JJ
J
II
I
Página 24 de 25
Regresar
Full Screen
Cerrar
Abandonar
Animaciones con R
• Pueden conseguirse una animación superpo-
niendo las imagenes obtenidas para condiciones
cambiantes
• Presentado en pantalla o almacenando en fiche-
ros gráficos y montando una animación
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)
Página www
Página de Abertura
Contenido
JJ
J
II
I
Página 25 de 25
Regresar
Full Screen
Ce
Comentarios de: Aspectos básicos de R en la automatización del análisis y la representación de datos (0)
No hay comentarios