View
500
Download
73
Category
Preview:
DESCRIPTION
Graficos Estadisticos y Mapas Con R
Citation preview
Castor Guisande Gonzlez Catedrtico del rea de Ecologa
Universidad de Vigo. Espaa
Antonio Vaamonde Liste Catedrtico del rea de Estadstica
e investigacin Operativa Universidad de Vigo. Espaa
Grficos estadsticos
y mapas con R
Cstor Guisande Gonzlez, Antonio Vaamonde Liste, 2012 (Versin papel)
Cstor Guisande Gonzlez, Antonio Vaamonde Liste, 2013 (Versin electrnica)
Reservados todos los derechos.
Queda prohibida, salvo excepcin prevista en la ley ,cualquier forma de reproduccin, distribucin, comunicacin pblica y transformacin de esta obra sin contar con la autorizacin de los titulares de propiedad intelectual. La infraccin de los derechos mencionados puede ser constitutiva de delito contra la propiedad intelectual (art.270 y siguientes del Cdigo Penal). El Centro Espaol de Derechos Reprogrficos (CEDRO) vela por el respeto de los citados derechos.
EdicionesDazdeSantos Email:ediciones@diazdesantos.es www.editdiazdesantos.com ISBN: 978-84-9969-610-2 (Libro electrnico) ISBN:978-84-9969-211-1(Libro en papel)
NDICE
PRLOGO Y AGRADECIMIENTOS............................................. XI I. PROGRAMACIN DE GRFICOS CON R............................... 1
I.1. PRIMEROS PASOS CON R..................................................... 1 I.1.1. Instalacin........................................................................... 1 I.1.2. Interfaz................................................................................ 1 I.1.3. Seleccionar directorio de trabajo........................................ 2 I.1.4. Paquetes grficos................................................................ 3 I.1.5. Scripts y archivos que se usan en el libro........................... 6
I.2. COMPLEMENTOS GRFICOS............................................... 6 I.3. ARGUMENTOS GENERALES................................................ 11 I.4. COLORES.................................................................................. 20 I.5. FRMULAS MATEMTICAS Y CARACTERES ESPECIALES................................................................................... 32 I.6. DISPOSITIVOS PARA GRFICOS......................................... 34
II. GRFICOS BSICOS.................................................................. 39
II.1. GRFICOS DE DISPERSIN................................................ 39 II.2. GRFICOS CON BARRAS DE DESVIACIONES................ 46 II.3. MODELOS Y GRFICOS EN PANELES.............................. 48 II.4. DIAGRAMA DE CAJAS......................................................... 49 II.5. BEANPLOTS............................................................................. 52 II.6. CURVAS DE AJUSTE............................................................. 58 II.7. HISTOGRAMAS...................................................................... 59 II.8. DIAGRAMA DE TALLO Y HOJAS....................................... 64 II.9. GRFICOS DE BARRAS........................................................ 65 II.10. GRFICOS CIRCULARES................................................... 73 II.11. GRFICOS DE PUNTOS...................................................... 77 II.12. GRFICOS TERNARIOS..................................................... 78 II.13. GRFICOS DE CONTORNOS Y SUPERFICIES................ 83 II.14. GRFICOS TRIDIMENSIONALES..................................... 87 II.15. CONFIGURACIN DE MRGENES Y EJES ADICIONALES...............................................................................
94
II.16. FORMAS ESPECIALES........................................................ 96 II.17. GRFICOS COMBINADOS................................................. 99
VII
GRFICOS ESTADSTICOS Y MAPAS CON R VIII
II.18. GRFICOS DENTRO DE GRFICOS................................. 100 II.19. AMPLIACIN DE UN REA DENTRO DE UN GRFICO.........................................................................................
103
II.20. GRFICOS CON INTERVALOS EN LOS EJES................. 104 II.21. PAQUETES QUE PERMITEN REALIZAR VARIOS TIPOS DE GRFICOS BSICOS.................................................. 106
II.21.1. R Commander.................................................................. 106 II.21.2. GrapheR........................................................................... 112
II.22. REPRESENTACIONES INTERACTIVAS PARA PGINAS WEB............................................................................... 117
II.22.1. Grficos........................................................................... 117 II.22.2. Tablas.............................................................................. 120 II.22.3. Combinacin de representaciones................................... 121
III. GRFICOS AVANZADOS......................................................... 123
III.1. GRFICOS DEMOGRFICOS............................................. 123 III.2. GRFICOS DE BURBUJAS.................................................. 125 III.3. GRFICOS DE ESCALERA.................................................. 128 III.4. DIAGRAMAS DE FLUJO...................................................... 129 III.5. GRFICOS DE TELARAAS.............................................. 131 III.6. DIAGRAMA DE EVENTOS.................................................. 133 III.7. MATRICES DE GRFICOS.............................................. 139 III.8. GRFICOS DE MATRICES DE CORRELACIONES.......... 147 III.9. DIAGRAMA DE VENN Y EULER....................................... 152 III.10. GRFICOS DE VARIABLES CUALITATIVAS EN FUNCIN DE VARIABLES CUANTITATIVAS................... 153 III.11. DISTRIBUCIONES DE VARIABLES CUALITATIVAS.. 158 III.12. GRFICOS PARA TABLAS DE CONTINGENCIA.......... 161 III.13. GRFICOS PARA GRANDES CONJUNTOS DE DATOS............................................................................................. 165
III.13.1. Dispersin...................................................................... 166 III.13.2. Matrices de grficos....................................................... 167 III.13.3. Espectros........................................................................ 169 III.13.4. Grficos polares............................................................. 171
III.14. GRFICOS PARA PRUEBAS ALEATORIAS................... 173 III.15. DIAGRAMA DE TAYLOR.................................................. 177 III.16. CURVAS DE SUPERVIVENCIA Y REGRESIN DE COX.................................................................................................. 180 III.17. ANLISIS DE VARIANZA................................................. 182 III.18. GRFICOS DE DIAGNSTICO EN MODELOS LINEALES....................................................................................... 186
NDICE IX
III.19. GRFICOS DE MEDIDAS DE RIESGO DE EXTINCIN..................................................................................... 188 III.20. GRFICOS PARA ANLISIS MULTIVARIANTE........... 190
III.20.1. Biplot.............................................................................. 190 III.20.2. Anlisis Discriminante................................................... 192 III.20.3. GGE Biplot..................................................................... 199 III.20.4. Grficos combinando Anlisis de Componentes Principales y Anlisis Discriminante........................................... 212
III.21. MODELO DE EFECTOS PRINCIPALES ADITIVOS E INTERACCIN MULTIPLICATIVA (AMMI).......................... 216 III.22. GRFICOS DE INFERENCIA EN COSTE/EFICACIA..... 219 III.23. META-ANLISIS................................................................ 224
III.23.1. Diagrama de bosque....................................................... 225 III.23.2. Grfico de L'Abb.......................................................... 232 III.23.3. Diagrama de embudo..................................................... 234 III.23.4. Diagrama de anlisis de sensibilidad............................. 236 III.23.5. Diagrama de meta-anlisis acumulativo........................ 237
III.24. GRFICOS DE CLASIFICACIN...................................... 239 III.24.1. Clasificacin jerrquica (dendrograma)......................... 239 III.24.2. Clasificacin de k-medias.............................................. 242 III.24.3. rbol de consenso.......................................................... 247 III.24.4. rboles de Clasificacin y Regresin: CARTs.............. 249 III.24.5. rboles de Clasificacin y Regresin (CARTs) y Anlisis de Componentes Principales.......................................... 255 III.24.6. rboles de Inferencia..................................................... 260
III.25. DIAGRAMAS PALEOECOLGICOS................................ 271 III.26. GRFICOS CLIMTICOS.................................................. 274
III.26.1. Rosa de vientos.............................................................. 274 III.26.2. Diagrama de Walter-Lieth............................................. 276
III.27. CONTROL DE CALIDAD................................................... 278 III.27.1. Definir............................................................................ 279
III.27.1.1. Diagrama de Ishikawa........................................... 279 III.27.1.2. Diagrama de Pareto............................................... 280
III.27.2. Medir.............................................................................. 282 III.27.2.1. MSA tipo I............................................................... 282 III.27.2.2. MSA tipo II............................................................. 284
III.27.3. Analizar.......................................................................... 288 III.27.4. Mejorar........................................................................... 290
III.27.4.1. Diseo factorial...................................................... 291 III.27.4.2. Diseo con mezclas................................................ 296 III.27.4.3. Diseos Taguchi..................................................... 299
GRFICOS ESTADSTICOS Y MAPAS CON R X
III.27.5. Controlar........................................................................ 302 III.27.5.1. Variables................................................................ 303 III.27.5.2. Atributos................................................................. 307
III.28. MINERA DE DATOS.......................................................... 309 III.28.1. Cargar datos................................................................... 310 III.28.2. Explorar.......................................................................... 312 III.28.3. Pruebas........................................................................... 315 III.28.4. Modelos.......................................................................... 316
IV. MAPAS.......................................................................................... 319 IV.1. REAS ADMINISTRATIVAS.............................................. 319 IV.2. GRFICOS DENTRO DE MAPAS....................................... 327 IV.3. MAPAS CON INFORMACIN ADICIONAL..................... 328 IV.4. MAPAS DE VECTORES....................................................... 338 IV.5. MAPAS INTERACTIVOS..................................................... 340 IV.6. MAPAS HIDROLGICOS.................................................... 341
BIBLIOGRAFA................................................................................. 347 NDICE DE PAQUETES, FUNCIONES Y ARGUMENTOS........ 355
Los estadsticos han utilizado siempre grficos para mostrar los resultados de forma que pudieran ser interpretados por diferentes tipos de lectores, incluyendo aquellos con escasos o nulos conocimientos de estadstica. Los grficos ayudan a entender mejor las conclusiones obtenidas en la aplicacin de diferentes mtodos estadsticos, y generalmente se busca con la representacin reforzar visualmente los aspectos ms destacables de los datos y los resultados.
Algunos grficos estadsticos aparecen con frecuencia en la prensa o en los distintos medios de comunicacin, ya que son necesarios para entender mejor la realidad que nos rodea. Un conocimiento elemental de los grficos ms comunes forma parte hoy en da de la cultura general de los ciudadanos, y es habitual encontrarlos, junto con otros conceptos estadsticos elementales, en los planes de estudios de la enseanza obligatoria de cualquier pas moderno.
Existen centenares de tipos distintos de grficos y mltiples variantes de cada uno de ellos. Los programas estadsticos generalmente han prestado mucha atencin a la construccin de grficos, que suele ser un apartado importante del men de usuario. A menudo se busca la construccin automtica del grfico, liberando al usuario del esfuerzo y la incomodidad de definir tamaos, escalas, lneas, colores, leyendas, o complementos diversos.
Existen programas no estadsticos de uso general, como por ejemplo hojas de clculo, sistemas de gestin de bases de datos, entornos de programacin, pro-gramas de edicin o de diseo de pginas web, que incluyen tambin herra-mientas para la construccin de grficos estadsticos, ya que la presentacin de la informacin de una forma adecuada es un elemento esencial que ha superado hace mucho tiempo el estricto mbito de la Estadstica para convertirse en una necesidad transversal de aplicacin prcticamente universal.
Algunos grficos son fcilmente interpretables, sin requerir una formacin previa, ya que son intuitivos y asequibles a todos. Otros requieren un conoci-miento adicional sobre el significado exacto de los distintos elementos represen-tados. Por ltimo, existe una tercera categora de grficos, en nmero creciente, cuya complejidad interpretativa requiere un conocimiento experto de la tcnica estadstica que lo emplea. No es posible interpretar adecuadamente esos grficos sin haber comprendido suficientemente un mtodo estadstico concreto, siendo el grfico en esos casos una parte importante del mismo. Muchos mtodos estads-ticos conducen a un grfico de interpretacin no trivial, por ejemplo el escala-miento multidimensional, rboles de clasificacin, algunas tcnicas de control de calidad, anlisis de series temporales, meta-anlisis, etc.
Muchos grficos nacieron histricamente como herramientas meramente des-criptivas, como una alternativa o un complemento a las tablas y medidas num-ricas. Sin embargo, desde antiguo se conocen las posibilidades analticas y expli-cativas de algunos grficos, y actualmente existen grficos que constituyen po-tentes instrumentos de anlisis y decisin.
PRLOGO Y AGRADECIMIENTOS
XI
GRFICOS ESTADSTICOS Y MAPAS CON R XII
R se ha convertido durante la ltima dcada en el programa estadstico de uso general ms potente, con mucha diferencia sobre los restantes, y tambin el ms verstil. No solo es el preferido por la comunidad estadstica, que ha apostado sin reservas por su desarrollo mediante un esfuerzo colectivo generoso y desin-teresado sino que, adems, quizs en parte por su carcter de programa total-mente gratuito, empieza a ser utilizado cada vez ms por investigadores y tcni-cos de cualquier mbito de conocimiento, hasta el punto de que actualmente es posible encontrar sin dificultad aplicaciones, desarrolladas en R, de inters para usuarios con necesidades estadsticas especializadas, en campos tan distintos como ecologa, medicina, ingeniera, biologa, economa, lingstica, sociologa, o como no- estadstica.
R es por aadidura el programa estadstico con mayor capacidad y flexibilidad para la construccin de grficos, y ese es el objeto de este libro, mostrar las enormes posibilidades que R brinda en este aspecto, y ensear a los usuarios interesados como construir los grficos que necesitan.
La filosofa de R no coincide con la mayora de los programas estadsticos al-ternativos. No se busca tanto la rapidez y comodidad del usuario mediante la construccin automtica de un grfico nico y cerrado sino, por el contrario, la flexibilidad y el control de los distintos elementos del grfico, que el usuario puede disear a su medida. Este planteamiento, que hace posible obtener grfi-cos personalizados, obliga por otra parte a un mayor esfuerzo de programacin y a un mayor nivel de conocimientos, pero el esfuerzo obtiene su recompensa en un resultado en general mucho ms satisfactorio. Por otra parte existen muchos procedimientos de R que permiten obtener grficos de forma rpida y sencilla si se desea, aplicando condiciones estndar y opciones por defecto, que no requie-ren un esfuerzo para el usuario mucho mayor del que exigen otros programas estadsticos.
En la primera parte del libro se presentan las tcnicas generales para la cons-truccin de grficos con R: paquetes, funciones, argumentos y opciones, con numerosos ejemplos de aplicacin reales que permitirn al lector utilizar las fun-ciones bsicas con soltura para la construccin de la mayora de los grficos ms comunes. Un buen conocimiento de estas tcnicas bsicas ser til tambin para la construccin y modificacin de otros grficos ms complejos.
El objetivo es el manejo de los distintos parmetros que controlan el tamao y aspecto, escalas, ejes, lneas, puntos, colores, textos y leyendas, smbolos y otros elementos grficos, as como las utilidades que permiten combinar distintos grficos, aadir elementos nuevos a un grfico, y otras ms avanzadas.
En la segunda parte del libro se revisan de forma sistemtica los principales grficos, desde los ms bsicos y habituales (histograma, diagrama de barras, de sectores, de cajas, de dispersin, etc.) hasta los ms complejos (biplot, curvas de nivel, grficos de control, etc.), incluyendo algunos grficos de reciente apari-cin asociados a tcnicas estadsticas novedosas.
No se pretende elaborar un catlogo de todos los grficos existentes sino so-lamente describir los ms usuales o los ms tiles para el lector general, entre otras cosas porque el mundo de R est vivo y tiene una gran vitalidad, de modo que constantemente aparecen nuevas propuestas, nuevas tcnicas, nuevos pa-quetes y nuevos grficos, as como mejoras en los ya existentes.
Para cada uno de los grficos descritos en el libro se presentan con detalle los procedimientos para la construccin y las principales claves de interpretacin, de modo que puedan ser utilizados por usuarios no expertos o sin conocimientos estadsticos avanzados.
PRLOGO Y AGRADECIMIENTOS XIII
Para todos los grficos se muestra con ejemplos la construccin paso a paso, de tal forma que sea sencillo reproducir el resultado con cualquier otro conjunto de datos. Se explican las caractersticas del grfico, el significado de los diferen-tes argumentos de cada una de las funciones, y el mbito de aplicacin.
Tambin se lleva a cabo una interpretacin de los resultados para la aplicacin concreta y el ejemplo utilizado en cada caso. Esta interpretacin es quizs el aspecto ms difcil, sobre todo en algunos grficos relacionados con tcnicas es-tadsticas complejas, ya que depende siempre de los resultados, que pueden ser distintos en cada aplicacin. Aunque se intenta explicar las claves principales de interpretacin, lo cierto es que solamente un conocimiento profundo de los as-pectos tericos y prcticos relacionados con la tcnica estadstica involucrada garantizar una interpretacin correcta de todos los resultados grficos obteni-dos, por lo que recomendamos vivamente a los lectores interesados que no se detengan en la realizacin prctica de los grficos, sino que intenten comprender los diferentes elementos tericos (propios del campo de aplicacin) y estadsticos que subyacen en los resultados a interpretar, y consulten con un experto es-tadstico sus dudas cuando sea necesario.
Dado el carcter abierto y libre de R, los paquetes -y los datos contenidos en ellos- pueden ser modificados o incluso suprimidos por sus autores cuando lo consideren oportuno. En ese caso algunos ejemplos citados en este libro podran dar lugar a resultados diferentes de los indicados, o requerir datos e instruccio-nes distintas de las que se citan. Los autores del libro no se hacen responsables de estos hipotticos cambios ajenos a su voluntad.
Por ltimo, agradecemos a Aldo Barreiro Felpeto su ayuda con alguno de los scripts que se muestran en el libro.
PROGRAMACIN DE GRFICOS CON R
I.1.1. INSTALACIN El programa est en la direccin http://cran.r-project.org/. All veremos, en la parte superior, un enlace para la instalacin de R en Linux, MacOS y Windows. Para Windows debemos seguir el enlace al subdirectorio base. En el caso de MacOS, el enlace nos lleva a una pgina donde podemos encontrar el archivo de instalacin con la ltima versin. Hay varias formas de instalar R en distribucio-nes de Linux; de forma general, primero es necesario aadir CRAN a la lista de repositorios, configurar el nuevo repositorio adecuadamente e instalar el r-base. I.1.2. INTERFAZ
Existen diferentes entornos grficos que facilitan la interaccin con el usuario (llamados GUI, del ingls Graphical Users Interface). Entre los ms populares se encuentran RGui (disponible para Windows), Tinn-R (Windows, MacOS), R Commander (Windows, MacOS, Linux), Emacs (Windows, MacOS, Linux), RKward (Linux), pero existen muchos otros. En este libro hemos elaborado la mayora de los ejemplos con RGui en Windows, y algunos con R Commander. La siguiente pantalla muestra el aspecto de la interfaz RGui, disponible para Windows:
CAPTULO I
I.1. Primeros pasos con R
1
GRFICOS ESTADSTICOS Y MAPAS CON R 2
RGui se instala de forma automtica con el paquete base de Windows. El resto de GUIs es necesario instalarlas especficamente. Se encuentran gratuita-mente en internet. Estas GUIs, para facilitar la interaccin con el usuario, disponen de una serie de mens desplegables, cuya complejidad puede ir desde solamente algunas sencillas posibilidades de edicin, apertura de ficheros, guardar datos, cargar paquetes, actualizar, etc. como podra ser el caso de RGui, hasta correccin de sintaxis de instrucciones, mens desplegables para importar/exportar datos, grficos y mltiples tcnicas estadsticas, como es el caso de R Commander y RKward. I.1.3. SELECCIONAR DIRECTORIO DE TRABAJO
Si disponemos de alguno de los mltiples tipos de interfaz grfica, adems de la consola, podemos usar el correspondiente icono de acceso directo para abrir el programa R.
Una vez dentro del programa, es muy importante seleccionar el directorio o carpeta de trabajo. Este directorio es el que estar disponible de forma autom-tica para cargar archivos de datos, abrir archivos para incluir instrucciones (scripts), guardar reas de trabajo y archivos de salida, etc. Si no seleccionamos un directorio de trabajo especfico utilizar el que tiene por defecto, que depende de la instalacin que se haya hecho. El directorio de trabajo se selecciona con la siguiente instruccin: setwd(C:/Documents and Settings/All Users/ArchivosR)
La funcin setwd() permite seleccionar el directorio deseado escribiendo
como argumento toda la ruta de directorios entrecomillada, con las barras sepa-radoras orientadas hacia la derecha. Si queremos saber cul es el directorio de trabajo actual, debemos escribir la siguiente instruccin: getwd()
Aqu tenemos un ejemplo de cmo establecer un directorio de trabajo me-
diante instrucciones y despus preguntar cual es el directorio de trabajo actual: setwd("C:/Archivos de programa") getwd()
La mayora de las GUIs disponen de una opcin a travs de men para esta-blecer el directorio de trabajo. En RGui, que como se mencion anteriormente es el entorno que se usar en la mayora de los ejemplos en este libro, se encuentra en el men Archivo Cambiar dir. Tras pulsar en esta opcin surge un cuadro de dilogo en el que seleccionaremos nuestro directorio.
PROGRAMACIN DE GRFICOS CON R 3
Para salir de R es suficiente con teclear q() en la lnea de instrucciones. Si trabajamos con cualquiera de los GUIs, suele haber adems un men con la op-cin Salir (como se observa en la anterior ventana). Cualquiera que sea la forma que escojamos para salir, se nos preguntar si queremos guardar o no el rea de trabajo. En el rea de trabajo se guardan objetos que hayamos creado y que quedan disponibles hasta la prxima vez que deseemos utilizarlos abriendo el archivo. Se guarda como un archivo con extensin Rdata. Es posible tener abiertas simultneamente varias reas de trabajo. Tambin es posible guardar la serie de instrucciones que hayamos escrito, como archivo Rhistory. No obs-tante, para esto es ms interesante la opcin de editarlos creando un script, como veremos a continuacin. I.1.4. PAQUETES GRFICOS
Para realizar cualquier aplicacin con R se usa un paquete, que es un archivo con el cdigo que contiene las funciones que nos interesa utilizar. Estos paque-tes son programados por usuarios que los ponen a disposicin pblica en los re-positorios de CRAN. Una librera es un directorio donde se instala un de-terminado grupo de paquetes. Hay un listado con todos los paquetes disponibles, incluyendo tambin todos los paquetes grficos, en la pgina web de R: http://cran.r-project.org/web/packages/available_packages_by_name.html# available-packages-L. Para ver solamente los paquetes que incluyen funciones grficas vase la pgina http://rgm2.lab.nig.ac.jp/RGM2/images.php?show=all donde, adems de tener una lista de los paquetes, tambin se muestran los grficos.
Las diferentes instrucciones de R para realizar grficos, que forman parte de los diferentes paquetes, se pueden dividir en:
Funciones grficas. Permiten realizar diferentes tipos de grficos y tie-
nen sus propios argumentos especficos. Complementos grficos. Son tambin funciones que permiten aadir a
los grficos lneas, textos, flechas, leyendas, etiquetas, etc., y tambin tienen sus propios argumentos especficos.
GRFICOS ESTADSTICOS Y MAPAS CON R 4
Argumentos generales. Son argumentos que se pueden usar en las funciones y complementos grficos anteriores, adems de los argumen-tos especficos de cada una de ellas.
El siguiente esquema resume la estructura de los paquetes, con sus funcio-
nes, las cuales tienen argumentos especficos y tambin pueden usar argumen-tos generales que son de uso comn para todas las funciones.
El modo ms elemental de instalar un paquete es ejecutando la siguiente ins-truccin: install.packages("nombre del paquete", dep=TRUE)
El nombre del paquete se escribe entre comillas, y despus de la coma es
muy recomendable incluir el argumento dep=TRUE, que indica que se instalen tambin las dependencias de ese paquete. Las dependencias son otros paquetes que contienen elementos necesarios para que funcionen todas las aplicaciones que hay en el paquete que queramos instalar. Sin esas dependencias, algunas aplicaciones de nuestro paquete podran no funcionar.
Los GUIs suelen incluir algn tipo de men para instalar paquetes. Por ejem-plo, en RGui se encuentra en Paquetes Instalar paquetes(s), y ya instala por defecto todas las dependencias.
Paquetes Funciones Argumentosespecficos
Argumentosgenerales
graphics xmain=plot()
text()
contour()
xlimit=ade4 triangle.plot()
type=
nlevels=
addmean=
PROGRAMACIN DE GRFICOS CON R 5
Inmediatamente despus de la anterior instruccin, aparece una ventana en la que se nos pide que seleccionemos un servidor espejo desde el que podamos descargar el paquete. Suele escogerse por proximidad geogrfica. Todos los eu-ropeos funcionan bien. Despus de seleccionar el servidor, elegimos el paquete en la lista alfabtica, y se descargar de forma automtica, quedando instalado en ese ordenador de forma permanente.
Cuando se instala un paquete se instalan las funciones que contiene y, en muchos casos, tambin se instalan datos que se utilizan para ilustrar los ejem-plos de uso de las funciones. Para acceder a una lista completa de todas las fun-ciones dentro de un paquete, teclearamos la siguiente instruccin:
library(help="graphics")
La mejor forma de consultar la lista de argumentos disponibles de cada fun-
cin es cargando el paquete y luego ver el men ayuda de la funcin: library(vcd) help(assoc)
Existen demos que nos muestran buenos ejemplos de grficos con su corres-
pondiente cdigo: demo(graphics)
GRFICOS ESTADSTICOS Y MAPAS CON R 6
demo(image)
Las funciones grficas que permiten hacer los distintos tipos de grficos se explicarn en el siguiente captulo. Como los complementos grficos y los argu-mentos generales son importantes cuando se realiza cualquier tipo de grfico, se explicarn antes de pasar a ver todas las funciones grficas disponibles en R.
I.1.5. SCRIPTS Y ARCHIVOS QUE SE USAN EN EL LIBRO
Todos los scripts y archivos con los datos utilizados en los ejemplos de este libro se pueden descargar de la pgina web http://www.ipez.es/GRAFICOS_ ESTADISTICOS_Y_MAPAS_CON_R.rar.
Como se mencion anteriormente, los complementos grficos son tambin funciones que sirven para aadir a los grficos lneas, textos, cuadros, flechas, leyendas, etiquetas, etc. Por lo tanto sirven para complementar los grficos que se realizan con las funciones grficas que veremos en el siguiente captulo.
En el esquema que sigue se muestra en primer lugar cada funcin y la pgina de este libro donde se puede encontrar un ejemplo de utilizacin. Despus se explica para que sirve, el paquete al que pertenece, y los argumentos especficos que tiene, junto con sus valores por defecto, indicados con el smbolo * en la descripcin de los argumentos.
I.2. Complementos grficos
ablinepg. 41
Aade lneas:Paquete graphicsabline(a = NULL, b = NULL, h= NULL, v = NULL, reg =NULL, coef = NULL, untf =FALSE,....)
a y b: interseccin ypendiente de la recta
h: valor de y en unalnea horizontal
v: valor de x en unalnea vertical
reg: un vector del tipoc(a,b) con la inter-seccin y pendiente dela regresin
coef: Se especifica unaregresin, por ejemplocoef (lm c(x~y))
untf: FALSE* o TRUE. Siun eje tiene trans-formacin log y se poneTRUE, representa lalnea sin transformar
PROGRAMACIN DE GRFICOS CON R 7
arrowspg. 97
Representa flechas:Paquete graphicsarrows(x0, y0, x1, y1, length =0,25, angle = 30, code = 2,col, lty, lwd,....)
x0 e y0: coordenadas deorigen
x1 e y1: coordenadasfinales
length: longitud en pul-gadas de la punta deflecha
angle: ngulo de lapunta de la flecha
code: tipo de flecha
axispg. 95
Aade ejes:Paquete graphicsaxis(side, at = NULL, labels =TRUE, tick = TRUE, line = NA,pos = NA, outer = FALSE,font= NA, lty = "solid", lwd = 1,lwd.ticks = lwd, col = NULL,col.ticks = NULL, hadj = NA,padj = NA.....)
side: 1 eje inferior, 2 ejeizquierdo, 3 eje superiory 4 eje derecho
at: variable con los valo-res donde se pondrn lasdivisiones del eje. En ca-so de no ponerla se cal-culan automticamente
labels: TRUE*, FALSE,variable con las etiquetasde los intervalos, un ca-rcter o un vector
tick: valor lgico (TRUE*o FALSE) que indica si serepresentan los interva-los
line: nmero de lneasde separacin con el eje
pos: coordenada dondese pondr el eje
outer: valor lgico(TRUE o FALSE*) quedefine si el eje serepresenta fuera o den-tro de los mrgenes delgrfico
hadj y padj: ajustes ho-rizontales y verticales enuna escala de 0 a 1
GRFICOS ESTADSTICOS Y MAPAS CON R 8
boxpg.95
Pinta un marco en el grfico:Paquete graphicsbox(which = "plot", lty,....)
which: indica donderepresentar el marco ypuede ser "plot", "figure","inner" o "outer"
gridpg. 48
Representa una cuadrcula:Paquete graphicsgrid(nx = NULL, ny = nx, col ="lightgray", lty = "dotted",lwd = par("lwd"),....)
nx y ny: nmero deceldas en las direccionesx e y. Por defecto utilizalas divisiones de los ejes
legendpg. 42
Aade una leyenda:Paquete graphicslegend(xx, y = NULL, legend,fill = NULL, col = par("col"),border="black", lty, lwd,pch,angle = 45, density = NULL,bty = "o", bg = par("bg"),box.lwd = par("lwd"), box.lty= par("lty"), box.col =par("fg"), pt.bg = NA, cex =1, pt.cex = cex, pt.lwd =lwd, xjust = 0, yjust = 1,x.intersp = 1, y.intersp = 1,adj = c(0, 0.5), text.width =NULL, text.col = par("col"),merge = do.lines &&has.pch, trace = FALSE, plot= TRUE, ncol = 1, horiz =FALSE, title = NULL, inset =0, xpd, title.col = text.col,title.adj = 0.5, seg.len = 2
x e y: coordenadas de laleyenda
legend: texto de la le-yenda
fill: color de relleno
ncol: nmero de colum-nas
horiz: si es TRUE lostextos son horizontales
La posicin de la le-yenda se especifica concoordenadas o conpalabras clave: "bo-ttomright", "bottom","bottomleft", "topleft","left", "top", "topright","right" o "center"
bty: define el marco dela leyenda: "o" conmarco y "n" sin marco
linespg. 58
Aade lneas o une los puntoscon lneas:Paquete graphicslines(x = NULL, y = NULL, type= "l",....)
x, y: coordenadas de lospuntos a unir mediantelneas
type: vase la funcinplot() para ver los dis-tintos tipos de lnea
PROGRAMACIN DE GRFICOS CON R 9
locatorpg. 42
Permite definir con el ratn laposicin de objetos en el panelgrfico y devuelve las coorde-nadas:Paquete graphicslocator(n = 512, type = "n",....)
n: el nmero mximo deobjetos que se deseaubicar
type: Con "n" ubicacualquier objeto, con "p"representa smbolos ycon "l" pinta lneasuniendo los puntos, pa-ra lo cual n debe sermayor que 1
mtextpg. 46
Permite aadir textos en elmargen del grfico:Paquete graphicsmtext(text, side = 3, line =0, outer = FALSE, at = NA,adj = NA, padj = NA, cex,col, font,...)
text: texto
side: eje donde seubicar el texto; abajo(1), izquierda (2), arriba(3), y derecha (4)
line: valor numrico conla distancia, en lneas,desde el eje
outer: si es TRUE utilizalos mrgenes exte-riores si estn dispo-nibles
at: posicin en el grficodonde se quiere escribirel texto
adj: ajuste del texto enel sentido de la direc-cin de lectura. Para lostextos paralelos a losejes, adj = 0 significaalineacin hacia la iz-quierda o abajo, y adj= 1 significa alineacinderecha o arriba.
padj: ajuste del textoperpendicular a la di-reccin de lectura (quees controlada por adj).Para los textos para-lelos a los ejes, padj =0 significa alineacinderecha o arriba, ypadj = 1 significa ali-neacin hacia la iz-quierda o abajo.
GRFICOS ESTADSTICOS Y MAPAS CON R 10
pointspg. 42
Permite representar smbolosen la coordenadas especifi-cadas:Paquete graphicspoints(x, y, type = "p",....)
x e y: coordenadas delos puntos
type: vase la funcinplot() para ver losdistintos tipos de gr-ficos
polygonpg. 44
Representa polgonos:Paquete graphicspolygon (c(x1,x2), c(y1,y2),density = NULL, angle = 45,border = NULL, col, lty,....)
x e y: coordenadas delos vrtices del polgono
density: densidad delsombreado
angle: ngulo de laslneas del sombreado
border: color del borde,NA es sin borde y NULL*con el color por defecto(negro)
rectpg. 58
Pinta un rectngulo:Paquete graphicsrect(xleft, ybottom, xright, ytop,density = NULL, angle = 45, col= NA, border = TRUE, lty,lwd,...)
xleft, ybottom, xright,ytop: extremos delrectngulo
density: densidad delsombreado
angle: ngulo de laslneas de sombreado
border: si es TRUE sepinta un borde y NA sinbordes
rugpg. 95
Aade al grfico una alfom-bra, con pequeos trazosverticales en cada punto z deleje horizontal:Paquete graphicsrug(z, ticksize = 0.03, side = 1, lwd = 0.5, col,....)
z: posicin en el eje x
ticksize: longitud de lostrazos verticales
side: lado en el quedibujar la alfombra: 1inferior, 3 superior
segmentspg. 58
Dibuja segmentos entre pun-tos:Paquete graphicssegments(x0, y0, x1, y1, col,lty, lwd,....)
x0, y0, x1, y1: coordena-das de origen y final de la lnea
PROGRAMACIN DE GRFICOS CON R 11
En la seccin anterior se mostraron los complementos grficos. A continua-cin se resumen los argumentos grficos generales, es decir, aquellos que se pueden usar en la mayora de las funciones y complementos grficos. La estruc-tura de los esquemas consiste en mostrar en primer lugar el argumento y la pgina donde se da un ejemplo del mismo, despus se explica para que sirve y, por ltimo, los diferentes valores que tiene (el smbolo * indica cual es la opcin por defecto que tiene el argumento). La abreviacin A.L. indica que son argu-mentos solamente de lectura.
textpg. 44
Permite aadir etiquetas a lascoordenadas de un grfico:Paquete graphicstext(x, y = NULL, labels, adj =NULL, srt, offset = 0.5, pos =NULL, cex = 1, col = NULL, font= NULL, ...)
x o y: coordenadasdonde se ubicar el texto
labels: texto que sequiere escribir o variablecon las etiquetas deltexto de los puntos
srt: ngulo del texto
offset: posicin del textoen el eje vertical res-pecto a la coordenada
pos: eje donde se ubi-car el texto; abajo (1),izquierda (2), arriba (3),y derecha (4)
titlepg. 40
Aade texto en ttulos o leyen-das:Paquete graphicstitle(main = NULL, sub = NULL,xlab = NULL, ylab = NULL, line =NA, outer = FALSE, ...)
main: texto del ttulo delgrfico
sub: subttulo
xlab: leyenda del eje x
ylab: leyenda del eje y
line: valor numrico quedefine la separacin deltexto con respecto algrfico
outer: si es TRUE utilizalos mrgenes exterioressi estn disponibles
I.3. Argumentos generales
GRFICOS ESTADSTICOS Y MAPAS CON R 12
Los siguientes argumentos solamente se usan con la funcin par(): fig, fin, mai, mar, mex, mfcol, mfrow, new, oma, omd, omi, pin, plt, ps, pty, xlog e ylog. El resto de argumentos con la ma-yora de funciones grficas, adems de la funcin par().
addpg. 46
Si se selecciona TRUE aade elgrfico a uno ya creado. Es igual alargumento new, pero esteltimo solamente se usa con lafuncin par(). No se puede usarcon todas las funciones grficas
FALSE*
TRUE
adjpg. 95
Especifica la alineacin de lostextos en los grficos y tambinsirve para las funciones text,mtext y title
0 (texto a la izquierda)
0.5 (texto centrado)*
1 (texto a la derecha)
Puede tomar cual-quier valor entre 0y 1, y algunasfunciones permitenvalores mayores
annpg. 95
Si se selecciona FALSE elimina lasleyendas de los ejes y los ttulos delos grficos cuando se usa con lafuncin plot.default FALSE
TRUE*
askpg. 174
Si es TRUE se pregunta antes deaadir un nuevo grfico
FALSE*
TRUE
asppg. 40
Define la proporcin de escala orelacin de aspecto de los ejes: unaunidad en x tiene la misma longitudque asp unidades en y
Cualquier valor nu-mrico positivo: 1*
axespg. 99
Especifica si se representan los ejesdel grfico
FALSE
TRUE*
bgpg. 42
Define el color de fondo de la ven-tana donde se ubicarn los grficos
La funcin colors() informa de los 657 colores
disponibles
PROGRAMACIN DE GRFICOS CON R 13
bg enplot.default
y pointspg. 42
En la funcin plot.defaultindica el relleno de los smbolosque son transparentes y enpoints indica el relleno de lossmbolos pch = 21 a 25
La funcin colors() informa de los 657 colores
disponibles
btypg. 42
Permite definir el tipo de marco delos grficos. En el caso de lafuncin legend solamente admitelos valores "o" (con marco ) y "n"(sin marco)
"o" (marco completo)*
"n" (sin marco en la funcin legend)
"c" (no se representa el borde
derecho)
"u" (no se representa el borde
superior)
"l" (no se representan los
bordes superior y derecho)
"7" (no se representan los bordes inferior e
izquierdo)
"]" (no se representa el
borde izquierdo)
cexpg. 40
Valor numrico que define eltamao de los textos. Se puedecombinar con alguno de lossiguientes subargumentos paraespecificar el tipo de texto
cex.axis (rtulos de los ejes)
cex.lab (leyendas de los ejes)
cex.main (ttulo del grfico)
cex.sub (subttulo del grfico)
GRFICOS ESTADSTICOS Y MAPAS CON R 14
colpg. 42
Define el color
col.axis (rtulos de los ejes)
col.lab (leyendas de los ejes)
col.main (ttulo del grfico)
col.sub (subttulo del grfico)
crapg. 95
Argumento de lectura que da infor-macin sobre el ancho y el alto delos caracteres en pxeles
A.L.
dinpg. 95
Argumento de lectura que da infor-macin sobre el ancho y el alto delgrfico en pulgadas
A.L.
familypg. 40
Especifica el tipo de letra de lostextos. Se puede utilizar en par()y en text()
"" (Utiliza el tipo de letra que existe por
defecto)*
Otros tipos de letras como "serif", "sans", "mono", etc
fgpg. 83
Si se usa con la funcin par(), sedefine el color del marco, lneas ytexto del grfico
La funcin colors() informa de los 657 colores
disponibles
figpg. 92
Define los lmites del grfico con elformato c(x1, x2, y1, y2). Si no seusa con el argumento new=TRUE crea un nuevo grfico.
En una escala de 0 a 1
finpg. 92
Define el tamao del grfico enpulgadas con el formato c(ancho,alto). Si no se usa con elargumento new=TRUE crea unnuevo grfico.
Cualquier valor numrico
PROGRAMACIN DE GRFICOS CON R 15
fontpg. 40
Valor numrico que define la fuentede los textos. El valor 1 es la letranormal, 2 es negrita, 3 es itlica y4 es itlica y negrita
font.axis (rtulos de los ejes)
font.lab (leyendas de los ejes)
font.main (ttulo del grfico)
font.sub (subttulo del grfico)
labpg. 58
Valor numrico con el formatoc(x,y,len) que define el nmero dedivisiones de los ejes. El valor delen hay que especificarlo pero Rno lo utiliza
Cualquier valor numrico (5,5,7)*
laspg. 97
Define la posicin de las etiquetasde los ejes
0* es paralelo al eje
1 horizontal
2 perpendicular al eje
3 vertical
lendpg. 54
Define el estilo del final de la lneay se puede especificar con unnmero o letras
0 o "round" es un extremo
redondeado*1 o "butt" es un extremo grueso
2 o "square" es un extremo cuadrado
ltypg. 48
Define el tipo de lnea
0 "blank" sin lnea
1 o "solid" lnea slida*
2 "dashed" lnea discontinua
3 "dotted" lnea punteada
4 "dotdash" lnea de puntos y rayas
5 "longdash" lnea de guin largo
6 "twodash" lnea de doble raya 6
54321
GRFICOS ESTADSTICOS Y MAPAS CON R 16
lwdpg. 60 Define el grosor de lnea
Cualquier valor numrico 1*
maipg. 99
Un vector numrico con el formatoc(abajo, izquierda, arriba, derecha)que define los mrgenes de la fi-gura en pulgadas
Cualquier valor numrico
mainpg. 40 Permite poner ttulos en los grficos Cualquier texto
marpg. 99
Un vector numrico con el formatoc(abajo, izquierda, arriba, derecha)que define el nmero de lneas delos mrgenes de la figura
Cualquier valor numrico
mexpg. 94
Factor de expansin del tamao decaracteres en los mrgenes
Cualquier valor numrico
mfcolpg. 48
Vector con el formato c(nr, nc) queindica el nmero de figuras por fila(nr) y por columna (nc), rellenandoprimero columnas
Cualquier valor numrico
mfrowpg. 48
Igual que mfcol pero rellenandoprimero las filas
Cualquier valor numrico
mgppg. 48
Vector numrico con el formatoc(t,e,l) que especifica la posicin dela leyenda de los ejes (t), el textode las divisiones de los ejes (e) y lalnea de los ejes (l). El valor pordefecto es (3,1,0)
Cualquier valor numrico
newpg. 45
Indica que el nuevo grfico seponga en el panel que ya existe yno se borre, por tanto, el grficoanterior FALSE*
TRUE
omapg. 96
Un vector numrico con el formatoc(abajo, izquierda, arriba, derecha)que define los mrgenes del textoen el panel, en nmero de lneas
Cualquier valor numrico
omdpg. 100
Vector numrico con el formatoc(x1,x2,y1,y2) que define los mr-genes internos donde se ubicar elgrfico, en una escala de 0 a 1
Entre 0 y 1
omipg. 100
Un vector numrico con el formatoc(abajo, izquierda, arriba, derecha)que define los mrgenes del panelen pulgadas
Cualquier valor numrico
PROGRAMACIN DE GRFICOS CON R 17
oma (4)
omi (4)
mar (4)
mai (4)
mar (2)
mai (2)
oma (2)
omi (2)
omd (1)
omd (2)
omd (4)
omd (3)omi (1)oma (1)
omi (3)oma (3)
mai (1)mar (1)
mai (3)mar (3)
MARGENEXTERNO
REA DELPANEL GRFICO
REA DELA FIGURA
pchpg. 40
Valor numrico entre 1 y 25 quedefine el tipo de smbolo (elsmbolo que corresponde a cadanmero se muestra en el siguientecuadro). Tambin se puede ponerentre "" cualquier carcter, comose muestra a modo de ejemplo enel cuadro con a, *, !, y $
De 1 a 14 smbolos sin relleno negro
De 15 a 20 smbolos con relleno negro
De 21 a 25 se puede poner el color que se quiera en el
borde con el argumento col y de relleno con bg
Cualquier carcter que se ponga entre
""
1 2 3 4 5 6 7 8 9 10
11 12 13 14 15 16 17 18 19 20
21 22 23 24 25a * ! $
GRFICOS ESTADSTICOS Y MAPAS CON R 18
pspg. 39
Tamao del punto de texto (unidadde medida de los caracteres) en1/72 pulgadas
Cualquier valor numrico
ptypg. 83
Carcter que indica si el grfico escuadrado o se alarga lateralmentecuando se ampla la ventana Con "m" el grfico se amplia al mximo
posible
Con "s" genera una figura cuadrada
srtpg. 44
Valor numrico que define el ngulodel texto. Solamente funciona conla funcin text()
Cualquier valor numrico
subpg. 129
Permite poner subttulos en losgrficos Cualquier texto
tckpg. 48
Valor alfanumrico que define eltamao de las marcas de los ejes,en proporcin al rea de la reginde la figura. El valor 1 pone lneasinteriores en el grfico
Cualquier otro valor numrico
Con tck=NA deja la marca por defecto*
tclpg. 48
Valor alfanumrico que define eltamao de las marcas de los ejes.Se diferencia de tck en que lasmedidas son reales y no enproporcin
Cualquier otro valor numrico
Con tck=NA deja la marca por defecto*
xaxppg. 60
Vector numrico con el formatoc(x1, x2, n), donde x1 y x2 son losextremos de las marcas de eje x, yn el nmero de intervalos o marcasen el eje
Cualquier valor numrico
xaxspg. 95
Caracter que define como secalculan los intervalos en el eje x,donde el lmite viene definido porxlim o los datos originales
"r" (regular) ex-tiende un 4% msde los lmitesdados en xlim, ycalcula el nmerode intervalos quemejor se ajustan aesos lmites*
"i" (interno) buscael nmero de in-tervalos ms ade-cuado a los datosoriginales
xaxtpg. 96
Valor lgico que especifica si serepresentan los intervalos del eje x
"s"*
"n"
PROGRAMACIN DE GRFICOS CON R 19
xlabpg. 40 Texto de la leyenda del eje x Cualquier texto
xlimpg. 42
Vector numrico con el formatoc(x0, x1), donde x0 y x1 son loslmites del eje x
Cualquier valor numrico
xlogpg. 58
Valor lgico que especifica si sepone el eje x en escala logartmica
FALSE*
TRUE
yaxppg. 60
Vector numrico con el formatoc(y1, y2, n), donde y1 e y2 son losextremos de las marcas del eje y, yn el nmero de intervalos o marcasen el eje
Cualquier valor numrico
yaxspg. 95
Caracter que define como secalculan los intervalos en el eje y,donde el lmite viene definido porylim o los datos originales
"r" (regular) extiende un 4%
ms de los lmites dados en ylim, y calcula el nmero de intervalos que
mejor se ajustan a esos lmites*
"i" (interno) busca el nmero de
intervalos ms adecuado a los datos originales
yaxtpg. 96
Valor lgico que especifica si serepresentan los intervalos del eje y
"s"*
"n"
ylabpg. 40 Texto de la leyenda del eje y Cualquier texto
ylimpg. 42
Vector numrico con el formatoc(y0, y1), donde y0 e y1 son loslmites del eje y
Cualquier valor numrico
ylogpg. 58
Valor lgico que especifica si sepone el eje y en escala logartmica
FALSE*
TRUE
GRFICOS ESTADSTICOS Y MAPAS CON R 20
Con la funcin colors(), que viene en el paquete bsico, es posible obtener un listado de los 657 colores disponibles.
"white" "aliceblue" "antiquewhite" "antiquewhite1" "antiquewhite2" "antiquewhite3" "antiquewhite4" "aquamarine" "aquamarine1" "aquamarine2" "aquamarine3" "aquamarine4" "azure" "azure1" "azure2" "azure3" "azure4" "beige" "bisque" "bisque1" "bisque2" "bisque3" "bisque4" "black" "blanchedalmond" "blue" "blue1" "blue2" "blue3" "blue4" "blueviolet" "brown" "brown1" "brown2" "brown3" "brown4" "burlywood" "burlywood1" "burlywood2" "burlywood3" "burlywood4" "cadetblue" "cadetblue1" "cadetblue2" "cadetblue3" "cadetblue4" "chartreuse" "chartreuse1" "chartreuse2" "chartreuse3" "chartreuse4" "chocolate" "chocolate1" "chocolate2" "chocolate3" "chocolate4" "coral" "coral1" "coral2" "coral3" "coral4" "cornflowerblue" "cornsilk" "cornsilk1" "cornsilk2" "cornsilk3" "cornsilk4" "cyan" "cyan1" "cyan2" "cyan3" "cyan4" "darkblue" "darkcyan" "darkgoldenrod" "darkgoldenrod1" "darkgoldenrod2" "darkgoldenrod3" "darkgoldenrod4" "darkgray" "darkgreen" "darkgrey" "darkkhaki" "darkmagenta" "darkolivegreen" "darkolivegreen1" "darkolivegreen2" "darkolivegreen3" "darkolivegreen4" "darkorange" "darkorange1" "darkorange2" "darkorange3" "darkorange4" "darkorchid" "darkorchid1" "darkorchid2" "darkorchid3" "darkorchid4" "darkred" "darksalmon" "darkseagreen" "darkseagreen1" "darkseagreen2" "darkseagreen3" "darkseagreen4" "darkslateblue" "darkslategray" "darkslategray1" "darkslategray2" "darkslategray3" "darkslategray4" "darkslategrey" "darkturquoise" "darkviolet" "deeppink" "deeppink1" "deeppink2" "deeppink3" "deeppink4" "deepskyblue" "deepskyblue1" "deepskyblue2" "deepskyblue3" "deepskyblue4" "dimgray" "dimgrey" "dodgerblue" "dodgerblue1" "dodgerblue2" "dodgerblue3" "dodgerblue4" "firebrick" "firebrick1" "firebrick2" "firebrick3" "firebrick4" "floralwhite"
I.4. Colores
PROGRAMACIN DE GRFICOS CON R 21
"forestgreen" "gainsboro" "ghostwhite" "gold" "gold1" "gold2" "gold3" "gold4" "goldenrod" "goldenrod1" "goldenrod2" "goldenrod3" "goldenrod4" "gray" "gray0" "gray1" "gray2" "gray3" "gray4" "gray5" "gray6" "gray7" "gray8" "gray9" "gray10" "gray11" "gray12" "gray13" "gray14" "gray15" "gray16" "gray17" "gray18" "gray19" "gray20" "gray21" "gray22" "gray23" "gray24" "gray25" "gray26" "gray27" "gray28" "gray29" "gray30" "gray31" "gray32" "gray33" "gray34" "gray35" "gray36" "gray37" "gray38" "gray39" "gray40" "gray41" "gray42" "gray43" "gray44" "gray45" "gray46" "gray47" "gray48" "gray49" "gray50" "gray51" "gray52" "gray53" "gray54" "gray55" "gray56" "gray57" "gray58" "gray59" "gray60" "gray61" "gray62" "gray63" "gray64" "gray65" "gray66" "gray67" "gray68" "gray69" "gray70" "gray71" "gray72" "gray73" "gray74" "gray75" "gray76" "gray77" "gray78" "gray79" "gray80" "gray81" "gray82" "gray83" "gray84" "gray85" "gray86" "gray87" "gray88" "gray89" "gray90" "gray91" "gray92" "gray93" "gray94" "gray95" "gray96" "gray97" "gray98" "gray99" "gray100" "green" "green1" "green2" "green3" "green4" "greenyellow" "grey" "grey0" "grey1" "grey2" "grey3" "grey4" "grey5" "grey6" "grey7" "grey8" "grey9" "grey10" "grey11" "grey12" "grey13" "grey14" "grey15" "grey16" "grey17" "grey18" "grey19" "grey20" "grey21" "grey22" "grey23" "grey24" "grey25" "grey26" "grey27" "grey28" "grey29" "grey30" "grey31" "grey32" "grey33"
GRFICOS ESTADSTICOS Y MAPAS CON R 22
"grey34" "grey35" "grey36" "grey37" "grey38" "grey39" "grey40" "grey41" "grey42" "grey43" "grey44" "grey45" "grey46" "grey47" "grey48" "grey49" "grey50" "grey51" "grey52" "grey53" "grey54" "grey55" "grey56" "grey57" "grey58" "grey59" "grey60" "grey61" "grey62" "grey63" "grey64" "grey65" "grey66" "grey67" "grey68" "grey69" "grey70" "grey71" "grey72" "grey73" "grey74" "grey75" "grey76" "grey77" "grey78" "grey79" "grey80" "grey81" "grey82" "grey83" "grey84" "grey85" "grey86" "grey87" "grey88" "grey89" "grey90" "grey91" "grey92" "grey93" "grey94" "grey95" "grey96" "grey97" "grey98" "grey99" "grey100" "honeydew" "honeydew1" "honeydew2" "honeydew3" "honeydew4" "hotpink" "hotpink1" "hotpink2" "hotpink3" "hotpink4" "indianred" "indianred1" "indianred2" "indianred3" "indianred4" "ivory" "ivory1" "ivory2" "ivory3" "ivory4" "khaki" "khaki1" "khaki2" "khaki3" "khaki4" "lavender" "lavenderblush" "lavenderblush1" "lavenderblush2" "lavenderblush3" "lavenderblush4" "lawngreen" "lemonchiffon" "lemonchiffon1" "lemonchiffon2" "lemonchiffon3" "lemonchiffon4" "lightblue" "lightblue1" "lightblue2" "lightblue3" "lightblue4" "lightcoral" "lightcyan" "lightcyan1" "lightcyan2" "lightcyan3" "lightcyan4" "lightgoldenrod" "lightgoldenrod1" "lightgoldenrod2" "lightgoldenrod3" "lightgoldenrod4" "lightgoldenrodyellow" "lightgray" "lightgreen" "lightgrey" "lightpink" "lightpink1" "lightpink2" "lightpink3" "lightpink4" "lightsalmon" "lightsalmon1" "lightsalmon2" "lightsalmon3" "lightsalmon4" "lightseagreen" "lightskyblue" "lightskyblue1" "lightskyblue2" "lightskyblue3" "lightskyblue4" "lightslateblue" "lightslategray" "lightslategrey" "lightsteelblue" "lightsteelblue1" "lightsteelblue2" "lightsteelblue3" "lightsteelblue4" "lightyellow" "lightyellow1" "lightyellow2" "lightyellow3" "lightyellow4" "limegreen" "linen" "magenta"
PROGRAMACIN DE GRFICOS CON R 23
"magenta1" "magenta2" "magenta3" "magenta4" "maroon" "maroon1" "maroon2" "maroon3" "maroon4" "mediumaquamarine" "mediumblue" "mediumorchid" "mediumorchid1" "mediumorchid2" "mediumorchid3" "mediumorchid4" "mediumpurple" "mediumpurple1" "mediumpurple2" "mediumpurple3" "mediumpurple4" "mediumseagreen" "mediumslateblue" "mediumspringgreen" "mediumturquoise" "mediumvioletred" "midnightblue" "mintcream" "mistyrose" "mistyrose1" "mistyrose2" "mistyrose3" "mistyrose4" "moccasin" "navajowhite" "navajowhite1" "navajowhite2" "navajowhite3" "navajowhite4" "navy" "navyblue" "oldlace" "olivedrab" "olivedrab1" "olivedrab2" "olivedrab3" "olivedrab4" "orange" "orange1" "orange2" "orange3" "orange4" "orangered" "orangered1" "orangered2" "orangered3" "orangered4" "orchid" "orchid1" "orchid2" "orchid3" "orchid4" "palegoldenrod" "palegreen" "palegreen1" "palegreen2" "palegreen3" "palegreen4" "paleturquoise" "paleturquoise1" "paleturquoise2" "paleturquoise3" "paleturquoise4" "palevioletred" "palevioletred1" "palevioletred2" "palevioletred3" "palevioletred4" "papayawhip" "peachpuff" "peachpuff1" "peachpuff2" "peachpuff3" "peachpuff4" "peru" "pink" "pink1" "pink2" "pink3" "pink4" "plum" "plum1" "plum2" "plum3" "plum4" "powderblue" "purple" "purple1" "purple2" "purple3" "purple4" "red" "red1" "red2" "red3" "red4" "rosybrown" "rosybrown1" "rosybrown2" "rosybrown3" "rosybrown4" "royalblue" "royalblue1" "royalblue2" "royalblue3" "royalblue4" "saddlebrown" "salmon" "salmon1" "salmon2" "salmon3" "salmon4" "sandybrown" "seagreen" "seagreen1" "seagreen2" "seagreen3" "seagreen4" "seashell" "seashell1" "seashell2" "seashell3" "seashell4" "sienna" "sienna1" "sienna2" "sienna3" "sienna4" "skyblue" "skyblue1" "skyblue2" "skyblue3" "skyblue4" "slateblue" "slateblue1" "slateblue2" "slateblue3" "slateblue4" "slategray" "slategray1" "slategray2" "slategray3" "slategray4" "slategrey" "snow" "snow1"
GRFICOS ESTADSTICOS Y MAPAS CON R 24
"snow2" "snow3" "snow4" "springgreen" "springgreen1" "springgreen2" "springgreen3" "springgreen4" "steelblue" "steelblue1" "steelblue2" "steelblue3" "steelblue4" "tan" "tan1" "tan2" "tan3" "tan4" "thistle" "thistle1" "thistle2" "thistle3" "thistle4" "tomato" "tomato1" "tomato2" "tomato3" "tomato4" "turquoise" "turquoise1" "turquoise2" "turquoise3" "turquoise4" "violet" "violetred" "violetred1" "violetred2" "violetred3" "violetred4" "wheat" "wheat1" "wheat2" "wheat3" "wheat4" "whitesmoke" "yellow" "yellow1" "yellow2" "yellow3" "yellow4" "yellowgreen"
La funcin colorTable() del paquete fBasics (Wuertz, 2011) permite ver los nmeros de los diferentes tipos de colores.
library(fBasics) colorTable(cex=1)
La funcin show.colors() del paquete DAAG (Maindonald, 2011) permite ver los nombres de los diferentes tipos de colores: "singles" son los colores que no tienen diferentes intensidades, "shades" son los que si tienen diferentes in-tensidades y "gray" es para ver la escala de grises.
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
PROGRAMACIN DE GRFICOS CON R 25
library(DAAG) show.colors("singles")
show.colors("shades")
darkred
darkmagenta
mediumvioletred
peru
lightcoral
darksalmon
sandybrown
black
darkgreen
forestgreen
mediumseagreen
limegreen
darkkhaki
mediumspringgreen
lawngreen
lightgreen
greenyellow
navy
midnightblue
darkviolet
darkslateblue
blueviolet
dimgray
mediumslateblue
lightslateblue
lightslategray
cornflowerblue
lightseagreen
violet
darkturquoise
darkgray
mediumturquoise
lightgray
powderblue
gainsboro
palegoldenrod
moccasin
lavender
blanchedalmond
papayawhip
linen
beige
oldlace
aliceblue
lightgoldenrodyellow
ghostwhite
floralwhite
mintcream
white
red
magenta
deeppink
firebrick
orangered
maroon
brown
violetred
tomato
indianred
coral
darkorange
chocolate
hotpink
sienna
palevioletred
salmon
orange
lightsalmon
tan
1 2 3 4darkgoldenrod
lightpink
goldenrod
gold
burlywood
green
springgreen
chartreuse
seagreen
palegreen
olivedrab
lightgoldenrod
darkolivegreen
yellow
darkseagreen
khaki
blue
purple
darkorchid
royalblue
1 2 3 4
slateblue
dodgerblue
mediumorchid
mediumpurple
deepskyblue
orchid
steelblue
turquoise
skyblue
pink
cyan
plum
rosybrown
lightskyblue
lightsteelblue
slategray
peachpuff
aquamarine
navajowhite
cadetblue
1 2 3 4
lightblue
bisque
darkslategray
wheat
thistle
mistyrose
paleturquoise
antiquewhite
lavenderblush
seashell
lemonchiffon
cornsilk
lightcyan
honeydew
snow
azure
lightyellow
ivory
1 2 3 4
GRFICOS ESTADSTICOS Y MAPAS CON R 26
show.colors("gray")
En el script I.1.R se muestran las tres funciones ms importantes que per-miten representar colores. La funcin rgb() permite hacer mltiples combina-ciones de colores, donde el primer nmero es para definir la intensidad del color rojo, el segundo para el verde y el tercero para el azul, en una escala de 0 a 255. El argumento alpha indica el grado de transparencia (rango de 0 a 255).
plot(0,0, type="n", xlim=c(-1,10), ylim=c(0,10), axes=F, xlab="", ylab="") text(-0.5,1.5,"rgb", cex=1.5) color
PROGRAMACIN DE GRFICOS CON R 27
La funcin hcl() tambin permite hacer diferentes colores, donde h de-fine el color en un rango de 0 a 360, c es la intensidad de color (de 0 a 100) y l es la luminosidad (tambin de 0 a 100, valores ms pequeos es ms oscuro).
text(-0.5,4.5,"hcl", cex=1.5) color
GRFICOS ESTADSTICOS Y MAPAS CON R 28
La funcin color.scale() del paquete plotrix (Lemon, 2012) permite utili-zar algunas de las paletas mencionadas anteriormente, hcl, hsv y rgb, para poder hacer gradientes de colores. Las instrucciones estn en el script I.2.R.
En la primera parte del script se hace un grfico sin ejes, para lo cual se usa el argumento axes=FALSE, y luego se pone el eje y con la funcin axis(), aadiendo etiquetas al eje.
En la funcin color.scale(), el argumento x define cual es el valor o rango de valores que tomarn los puntos. En este caso, como se representan 10 puntos, es una secuencia de 1 a 10. El argumento alpha indica el grado de transparencia (rango de 0 a 1). El argumento na.color especifica el color de los datos vacos de la variable x.
Los argumentos cs1, cs2, y cs3 definen los tres parmetros de color, dependiendo del sistema utilizado. En rgb y hsv la escala es de 0 a 1 en los tres argumentos cs1, cs2 y cs3. En hcl la escala es de 0 a 360 para cs1, y de 0 a 100 para cs2 y cs3. En hsv y hcl, en los tres argumentos se puede poner un nico valor o un vector con dos valores, que indicaran un rango. Por ejemplo, en hsv cs1=0 indica que solo se pinta en color rojo, mientras que cs1=c(0,0.5) indica que varan los colores del rojo al azul.
library(plotrix) plot(1:10,rep(1:3,length.out=10),axes=FALSE,type="n",xlim=c(0,11),ylim=
c(0,18), main="Test de rgb, hsv y hcl",xlab="",ylab="Paletas de colores", cex.lab=1.7, cex.main=1.9)
par(cex=0.8,font=2) axis(2,at=1:18,labels=c("rgb","","rgb","","rgb","","hcl","","hcl","","hcl","","
hsv","","hsv","","hsv","")) #rgb points(1:10,rep(1,10),pch=19,cex=7,col=color.scale(x=1:10,cs1=c(0,0.1,1),
cs2=c(1,0.7,1),cs3=c(1,0.5,0),color.spec="rgb",alpha=1,na.color=NA)) points(1:10,rep(3,10),pch=19,cex=7,col=color.scale(x=1:10,cs1=c(0,1,1),
cs2=c(1,1,0),cs3=0,color.spec="rgb",alpha=1,na.color=NA)) points(1:10,rep(5,10),pch=19,cex=7,col=color.scale(x=1:10,cs1=c(0,1,1),
cs2=c(1,1,0),cs3=c(0,0.5,1),color.spec="rgb",alpha=1,na.color=NA)) #hcl points(1:10,rep(7,10), pch=19,cex=7, col=color.scale(x=1:10, cs1=c(0,100),
cs2=c(25,55),cs3=c(85,25), color.spec="hcl",alpha=1,na.color=NA)) points(1:10,rep(9,10),pch=19,cex=7,col=color.scale(x=1:10,cs1=c(100,0),
cs2=c(55,25),cs3=c(25,85), color.spec="hcl",alpha=1,na.color=NA)) points(1:10,rep(11,10),pch=19,cex=7,col=color.scale(x=1:10,cs1=c(200,0),
cs2=c(55,85),cs3=c(55,85), color.spec="hcl",alpha=1,na.color=NA)) #hsv points(1:10,rep(13,10),pch=19,cex=7,col=color.scale(x=1:10,cs1=c(0.5,1),
cs2=c(0.5,1),cs3=c(1,1),color.spec="hsv",alpha=1,na.color=NA)) points(1:10,rep(15,10),pch=19,cex=7,col=color.scale(x=1:10,cs1=c(0,1),
cs2=c(0.8,1),cs3=c(0.5,1),color.spec="hsv",alpha=1,na.color=NA)) points(1:10,rep(17,10),pch=19,cex=7,col=color.scale(x=1:10,cs1=c(0.5,1),
cs2=c(0.2,1),cs3=c(1,1),color.spec="hsv",alpha=1,na.color=NA))
PROGRAMACIN DE GRFICOS CON R 29
En el siguiente grfico del script se muestra un ejemplo sencillo de cmo usar color.scale(). En primer lugar se generan dos vectores y el color de los pun-tos en la funcin color.scale() lo define el valor de y. Con la funcin par(oma=c(3,3,3,4)) se dejan ms lneas en el eje y derecho para poder mostrar la leyenda de colores. La funcin color.legend() permite una barra de colores a modo de leyenda. Con los argumentos xl, yb, xr e yt se define la posicin de la leyenda. Con gradient se especifica si el rango de colores cambia en el sentido del eje x o del y. Con el argumento align se es-pecifica si las etiquetas de las leyendas se ponen por la izquierda (barra hori-zontal) o arriba (barra vertical) con lt, o por la derecha (barra horizontal) o abajo (barra vertical) con rb. Por ltimo, en el argumento rect.color se debe poner la misma secuencia y tipo de colores utilizada en el grfico.
x
GRFICOS ESTADSTICOS Y MAPAS CON R 30
Tambin son muy tiles las paletas de colores que se pueden obtener con al-guna de las funciones gray.colors(), rainbow(), heat.colors(), terrain.colors(), topo.colors() o cm.colors() del paquete grDevices, el cual se instala por defecto con R. A modo de ejemplo, las siguientes instrucciones representan un diagrama de tartas, en el cual el gradiente de co-lores se realiza con las funciones mencionadas anteriormente. Las instrucciones estn en el script I.3.R.
En todas las funciones el argumento alpha indica el grado de transparencia (rango de 0 a 1). En el caso de la funcin rainbow() con el argumento s se especifica el grado de saturacin (rango de 0 a 1). Con v se puede oscurecer ms o menos (rango de 0 a 1), donde 0 es negro y 1 es la mxima claridad. Los argumentos start (rango de 0 a 1) y end (rango de 0 a 1) son los colores corregidos donde comienza y finaliza el arco iris, respectivamente. pie(rep(1,50), col=gray.colors(n=50)) text(0,1,"gray.colors()",font=2,cex=1.5) pie(rep(1,15), col=rainbow(n=15, s =1, v=1, start=0, end=0.9, alpha=1)) text(0,1,"rainbow()",font=2,cex=1.5) pie(rep(1,50), col=heat.colors(n=50)) text(0,1,"heat.colors()",font=2,cex=1.5) pie(rep(1,50), col=terrain.colors(n=50)) text(0,1,"terrain.colors()",font=2,cex=1.5) pie(rep(1,50), col=topo.colors(n=50)) text(0,1,"topo.colors()",font=2,cex=1.5) pie(rep(1,50), col=cm.colors(n=50)) text(0,1,"cm.colors()",font=2,cex=1.5)
0 10 20 30 40 50
2040
6080
1
21
41
61
81
PROGRAMACIN DE GRFICOS CON R 31
12
34
56
78
91011
121314151617
1819
2021
2223
2425262728
2930
3132
3334
35 36 37 38 39 4041
4243
4445
4647
484950
gray.colors()
1
2
345
6
7
8
9
10
11 1213
14
15
rainbow()
12
34
56
78
91011
121314151617
1819
2021
2223
2425262728
2930
3132
3334
35 36 37 38 39 4041
4243
4445
4647
484950
heat.colors()
12
34
56
78
91011
121314151617
1819
2021
2223
2425262728
2930
3132
3334
35 36 37 38 39 4041
4243
4445
4647
484950
terrain.colors()
12
34
56
78
91011
121314151617
1819
2021
2223
2425262728
2930
3132
3334
35 36 37 38 39 4041
4243
4445
4647
484950
topo.colors()
12
34
56
78
91011
121314151617
1819
2021
2223
2425262728
2930
3132
3334
35 36 37 38 39 4041
4243
4445
4647
484950
cm.colors()
GRFICOS ESTADSTICOS Y MAPAS CON R 32
En muchas ocasiones a los grficos hay que aadirles frmulas matemticas o texto con caracteres especiales, que se pueden realizar con la funcin plotmath() (Murrell y Ihaka, 2000), combinada con alguna de las funciones expression(), substitute() y/o paste(). A continuacin se muestran algunos ejemplos, los cuales estn en el script I.4.R, y en la tabla siguiente al-gunos cdigos tiles de la funcin plotmath() para construir frmulas y tex-tos especiales. Para que estas instrucciones funcionen deben integrarse en los grficos usando las funciones mtext(), title() o text(), como se mos-trar en varios ejemplos en el prximo captulo.
expression(x^2==sum(sum(frac(((O[mc] - E[mc]) - frac(1,2))^2, E[mc]), c-
1, i), m-1, j))
expression(L[t]==L[infinity](1-e^-k(t-t[0])))
expression(a[i] == sqrt(b[i]^2 + c[i]^2))
!
expression("r"==paste(frac(paste(mu[max]*"S"), paste("K"[s]+"S"))))
" #$%&'( & expression(bar(x) == frac(sum(x[i], n, i==1), n))
) n
xn
ii
1
expression(paste("Produccin primaria en mg C m"^"-2","d"^"-1"))
Produccin primaria en mg C m-2 d-1
expression(bold(paste("Pigmentos de ", italic("Alexandrium minutum"))))
Pigmentos de Alexandrium minutum
I.5. Frmulas matemticas y caracteres especiales
PROGRAMACIN DE GRFICOS CON R 33
Tabla I.1. Tabla de cdigos para la construccin de frmulas utilizando las funciones plotmath() y expression().
) bar(x)
n
iix
1
sum(x[i], i==1, n) infinity
* hat(x) +,- %
prod(plain(P)(X==x), x)
alpha A Alpha
./ widehat(xy) 0 123$
integral(f(x)*dx, a, b)
beta B Beta
4 tilde(x) 567
8
union(A[i], i==1, n)
gamma Gamma
.9 widetilde(xy) :67
8
intersect(A[i], i==1, n)
delta Delta
; dot(x) ?@ 1 lim(f(x), x %->% 0)
epsilon E Epsilon
x plain(x) >=A%BC 1
min(f(x), x > 0) zeta Z Zeta
x bold(x) x y x %subset% y
eta H Eta
x italic(x) x y x %subseteq% y theta Theta
x bolditalic(x) x y x %notsubset% y
iota I Iota
%D frac(x,y) x y x %supset% y kappa K Kappa D%atop(x,y) x y x %supseteq% y lambda Lambda x2 x^2 x y x %in% y
mu M Mu
x2 x[2] x y x %notin% y nu N Nu
E sqrt(x) x displaystyle(x) xi Xi
GRFICOS ESTADSTICOS Y MAPAS CON R 34
EF sqrt(x,y) x textstyle(x) pi Pi x y x %+-% y x scriptstyle(x)
rho P Rho
x / y x %/% y x scriptscriptstyle(x) sigma Sigma
x * y x %*% y x y x ~~ y tau T Tau
x y x = y x y x %% y phi Phi
x y x %~~% y x y x %->% y chi X Chi
x y x %==% y x y x %% y x y x %dblup% y
x y x %
PROGRAMACIN DE GRFICOS CON R 35
exportarlo a otros formatos de archivo usando las funciones mencionadas ante-riormente.
En el script se hace una funcin con function() y varios bucles con for(). Adems se usan varias funciones grficas como plot(), mtext(), text(), rug() y points(), que se explicarn en detalle en el Captulo II.
El archivo pdf con el grfico exportado estar en el directorio de trabajo. Siempre que se exporte a un archivo es conveniente cerrar el dispositivo con la funcin dev.off(). Cada vez que se ejecuta la funcin windows() se abre una ventana, es decir, que se van superponiendo las ventanas sin borrar las anteriores. En el grfico se puede observar como varan los colores conforme cambian los valores de rojo, verde y azul. #Se muestra en la pantalla windows(15,6) funcion
GRFICOS ESTADSTICOS Y MAPAS CON R 36
#Se exporta a un archivo pdf pdf("Paleta rgb.pdf",paper="a4r",w=15,h=6) funcion() dev.off()
Paleta rgb
Rojo
Verd
e
Azul (0) Azul (50) Azul (100) Azul (150) Azul (200) Azul (250)
0
000000
50
505050505050
100
100100100100100100
150
150150150150150150
200
200200200200200200
250
250250250250250250
0
000000
50
505050505050
100
100100100100100100
150
150150150150150150
200
200200200200200200
250
250250250250250250
0
000000
50
505050505050
100
100100100100100100
150
150150150150150150
200
200200200200200200
250
250250250250250250
0
000000
50
505050505050
100
100100100100100100
150
150150150150150150
200
200200200200200200
250
250250250250250250
0
000000
50
505050505050
100
100100100100100100
150
150150150150150150
200
200200200200200200
250
250250250250250250
0
000000
50
505050505050
100
100100100100100100
150
150150150150150150
200
200200200200200200
250
250250250250250250
Dispositivos para grficos
windows(width=7, height=7, pointsize = 1/72 inch, rescale = "R", xpinch = NA_real_, ypinch = NA_real_, bg = "transparent", canvas = "white", gamma = 1, xpos = -25, ypos = 0, buffered = TRUE, title = "", clickToConfirm = TRUE, fillOddEven = TRUE ) win.print(width = 7, height = 7, pointsize = 12, printer = "") bmp(filename = "Rplot%03d.bmp", width = 480, height = 480, units = "px", pointsize = 12, bg = "white", res = NA) jpeg(filename = "Rplot%03d.jpg", width = 480, height = 480, units = "px", pointsize = 12, quality = 75, bg = "white", res = NA) png(filename = "Rplot%03d.png", width = 480, height = 480, units = "px", pointsize = 12, bg = "white", res = NA) tiff(filename = "Rplot%03d.tif", width = 480, height = 480, units = "px", pointsize = 12, compression = "none", res = NA) bitmap(file, type = "png16m", height = 7, width = 7, res = 72, units = "in", pointsize) pdf(file = ifelse(onefile, "Rplots.pdf", "Rplot%03d.pdf"), width = 7, height = 7, onefile, family = "Helvetica", title, version = "1.4", paper = "special", encoding, bg = "transparent", fg = "black", pointsize, pagecentre = TRUE, colormodel = "rgb", fillOddEven)
PROGRAMACIN DE GRFICOS CON R 37
Dispositivos para grficos (Continuacin) bg: color de fondo. buffered: si es TRUE se evitan posibles parpadeos a la hora de
mostrar el grfico. canvas: color del dispositivo cuando el fondo es transparente. clickToConfirm: si es TRUE cuando se crea un nuevo grfico la
confirmacin se hace con un click en la pantalla con el ratn, en vez de respondiendo a una pregunta en la consola.
colormodel: tipo de paleta de colores: "rgb", "gray" o "cmyk". compression: tipo de archivo comprimido que puede ser "none",
"rle", "lzw", "jpeg" o "zip". family: tipo de fuente de letra. fg: color que se pone al frente. filename: nombre del archivo. fillOddEven: si es TRUE la manera en que se resuelve la interseccin
de formas se hace de forma automtica por R. onefile: si es TRUE permite varias figuras en un solo archivo. pagecentre: si es TRUE todo lo que se imprime en el pdf se centra. paper: tamao del papel: "a4", "letter", "legal", "executive", "a4r",
"USr" o "special", en este ltimo el tamao viene definido por width y height.
pointsize: tamao del texto. printer: nombre de la impresora como la reconoce el sistema opera-
tivo del ordenador. quality: calidad del archivo jpeg en porcentaje. res: resolucin en ppi para texto y ancho de lneas. rescale: define como re-escala el grfico cuando se agranda la panta-
lla y las opciones son "R", "fit" o "fixed". title: ttulo de la salida. type: tipo de bitmap. units: unidades del width y height en pxeles "px", centmetros "cm"
o pulgadas "in". version: versin de pdf necesaria para poder ver el archivo. width y height: ancho y alto en pulgadas. xpinch e ypinch: pxeles por pulgada. El valor por defecto NA_real_
significa que tome los valores por defecto de Windows. xpos e ypos: posicin en pxeles del cuadrante superior izquierdo de
la ventana.
GRFICOS BSICOS
Se utilizan muy frecuentemente, y representan dos variables cuantitativas en
un sistema de coordenadas rectangulares. Para el ejemplo se usar el conjunto de datos iris, y se representarn dos variables con relacin lineal entre ellas: Petal.Length y Petal.Width. Para el grfico de dispersin ms simple, utili-zamos la funcin plot() sin modificar ninguno de sus argumentos por defecto. La funcin par(ps=15) permite definir el tamao de la letra. Las instrucciones estn en el archivo II.1.R.
data(iris) attach(iris) par(ps=15) plot(Petal.Length,Petal.Width)
CAPTULO II
II.1. Grficos de dispersin
1 2 3 4 5 6 7
0.5
1.0
1.5
2.0
2.5
Petal.Length
Peta
l.Wid
th
39
GRFICOS ESTADSTICOS Y MAPAS CON R 40
Ahora podemos ir aadiendo y modificando elementos en el grfico. Como
muchas veces existen varios datos en el mismo punto, con la funcin sunflowerplot() es posible que pinte tantas rayas como nmero de datos coinciden en el mismo punto. Los argumentos que iremos cambiando sirven tanto para la funcin sunflowerplot() como para la funcin plot(). Con el argumento pch es posible cambiar el tipo de smbolo:
sunflowerplot(Petal.Length,Petal.Width, pch=19) Ahora cambiamos el rtulo de los ejes, de forma que el nombre de las varia-
bles tenga un mejor formato y se indiquen las unidades. Esto podramos hacerlo con los argumentos xlab e ylab:
sunflowerplot(Petal.Length, Petal.Width,pch=19, xlab="Longitud (cm)",
ylab="Anchura (cm)")
Ahora le podemos aadir un ttulo, para lo cual existen dos opciones: o bien el argumento main, dentro de las funciones plot() o sunflowerplot(), o bien otra funcin llamada title(). En este caso optaremos por la primera op-cin.
sunflowerplot(Petal.Length,Petal.Width,pch=19, xlab="Longitud (cm)",
ylab="Anchura (cm)", main=" Longitud de ptalo vs Anchura de ptalo") Ahora haremos una serie de ajustes en el tipo de letra: convertiremos en ne-
grita la letra de la escala en los ejes (con font.axis), la etiqueta de los ejes (con font.lab), aumentaremos el tamao de letra en el ttulo (con cex.main) y en la etiqueta de los ejes (con cex.lab). Adems, cambiare-mos el tipo de letra en todo el grfico para que sea Times New Roman (con family). Los valores de cada uno de los argumentos anteriores seran los si-guientes: para negrita, el valor es 2, para el tamao de fuente se usa un nmero que es una proporcin relativa al tamao actual (1). As pues, si lo cambiamos a 0,5, el tamao se reducira un 50%, si lo aumentamos a 1,5, se aumentara un 50%. El valor de family para Times New Roman es serif. El argumento asp
Funcin plot (paquete graphics) x e y: coordenadas de los puntos. type:
"p": puntos. "l": lneas. "b": puntos y lneas sin superposicin. "c": deja las lneas y pone un hueco donde van los puntos. "o": puntos y lneas superpuestos. "s": en escalera, con movimiento horizontal y luego vertical. "S": en escalera, con movimiento vertical y luego horizontal. "h": lneas de alta densidad, tipo histograma. "n": sin representacin.
Se pueden usar todos los argumentos generales.
GRFICOS BSICOS 41
define la proporcin de escala o relacin de aspecto de los ejes, es decir, una unidad en x tiene la misma longitud que asp unidades en y.
sunflowerplot(Petal.Length,Petal.Width,pch=19, xlab="Longitud (cm)",
ylab="Anchura (cm)", main=" Longitud de ptalo vs Anchura de ptalo", font.axis=2, font.lab=2, cex.main=1.5, cex.lab =1.25, family="serif", asp=1.5, ylim=c(0.5,2.5))
A continuacin aadiremos a este grfico una recta de regresin con la fun-
cin abline(). En esta funcin es necesario especificar los valores de los parmetros de la recta. Para conocer esos valores haremos un modelo lineal con la funcin lm(), y utilizaremos el resultado como parmetro de abline():
reg
GRFICOS ESTADSTICOS Y MAPAS CON R 42
Vamos ahora con un ejemplo en el que complicaremos un poco ms las cosas.
Se trata de una grfica de dispersin similar a la anterior, en la que queremos resaltar diferentes grupos de datos. Las instrucciones estn en el archivo II.2.R. Utilizaremos nuevamente el conjunto de datos iris, por lo que debemos cargarlo con data() y adjuntarlo con attach() para poder localizar a las variables por su nombre. Vamos a representar la variable longitud de ptalo frente a la variable longitud de spalo, diferenciando los resultados para cada especie. El conjunto total de rdenes se muestran a continuacin; iremos explicndolas una por una.
La primera instruccin, plot(), sirve para representar el diagrama de dis-persin para la especie setosa. Adems aadimos un rango de valores para los ejes, xlim e ylim, indicamos que se usa un crculo relleno como smbolo pch=19, de color azul con col="blue" y que la etiqueta de los ejes est en blanco (eso es as porque est previsto etiquetar los ejes con otra funcin). Con la funcin colors() podemos obtener el listado de
Recommended