305 9 9MB
Spanish Pages [378] Year 2014
Castor Guisande González Catedrático del Área de Ecología Universidad de Vigo. España
Antonio Vaamonde Liste Catedrático del Área de Estadística e investigación Operativa Universidad de Vigo. España
Gráficos estadísticos y mapas con R
ERRNVPHGLFRVRUJ
©Cástor Guisande González, Antonio Vaamonde Liste, 2012 (Versión papel) ©Cástor Guisande González, Antonio Vaamonde Liste, 2013 (Versión electrónica)
Reservados todos los derechos. Queda prohibida, salvo excepción prevista en la ley ,cualquier forma de reproducción, distribución, comunicación pública y transformación de esta obra sin contar con la autorización de los titulares de propiedad intelectual. La infracción de los derechos mencionados puede ser constitutiva de delito contra la propiedad intelectual (art.270 y siguientes del Código Penal). El Centro Español de Derechos Reprográficos (CEDRO) vela por el respeto de los citados derechos. EdicionesDíazdeSantos Email:[email protected] www.editdiazdesantos.com
ISBN: 978-84-9969-610-2 (Libro electrónico) ISBN:978-84-9969-211-1(Libro en papel)
ÍNDICE PRÓLOGO Y AGRADECIMIENTOS.............................................
XI
I. PROGRAMACIÓN DE GRÁFICOS CON R............................... I.1. PRIMEROS PASOS CON R..................................................... I.1.1. Instalación........................................................................... I.1.2. Interfaz................................................................................ I.1.3. Seleccionar directorio de trabajo........................................ I.1.4. Paquetes gráficos................................................................ I.1.5. Scripts y archivos que se usan en el libro........................... I.2. COMPLEMENTOS GRÁFICOS............................................... I.3. ARGUMENTOS GENERALES................................................ I.4. COLORES.................................................................................. I.5. FÓRMULAS MATEMÁTICAS Y CARACTERES ESPECIALES................................................................................... I.6. DISPOSITIVOS PARA GRÁFICOS.........................................
1 1 1 1 2 3 6 6 11 20
II. GRÁFICOS BÁSICOS.................................................................. II.1. GRÁFICOS DE DISPERSIÓN................................................ II.2. GRÁFICOS CON BARRAS DE DESVIACIONES................ II.3. MODELOS Y GRÁFICOS EN PANELES.............................. II.4. DIAGRAMA DE CAJAS......................................................... II.5. BEANPLOTS............................................................................. II.6. CURVAS DE AJUSTE............................................................. II.7. HISTOGRAMAS...................................................................... II.8. DIAGRAMA DE TALLO Y HOJAS....................................... II.9. GRÁFICOS DE BARRAS........................................................ II.10. GRÁFICOS CIRCULARES................................................... II.11. GRÁFICOS DE PUNTOS...................................................... II.12. GRÁFICOS TERNARIOS..................................................... II.13. GRÁFICOS DE CONTORNOS Y SUPERFICIES................ II.14. GRÁFICOS TRIDIMENSIONALES..................................... II.15. CONFIGURACIÓN DE MÁRGENES Y EJES ADICIONALES............................................................................... II.16. FORMAS ESPECIALES........................................................ II.17. GRÁFICOS COMBINADOS................................................. VII
32 34 39 39 46 48 49 52 58 59 64 65 73 77 78 83 87 94 96 99
VIII
GRÁFICOS ESTADÍSTICOS Y MAPAS CON R
II.18. GRÁFICOS DENTRO DE GRÁFICOS................................. II.19. AMPLIACIÓN DE UN ÁREA DENTRO DE UN GRÁFICO......................................................................................... II.20. GRÁFICOS CON INTERVALOS EN LOS EJES................. II.21. PAQUETES QUE PERMITEN REALIZAR VARIOS TIPOS DE GRÁFICOS BÁSICOS.................................................. II.21.1. R Commander.................................................................. II.21.2. GrapheR........................................................................... II.22. REPRESENTACIONES INTERACTIVAS PARA PÁGINAS WEB............................................................................... II.22.1. Gráficos........................................................................... II.22.2. Tablas.............................................................................. II.22.3. Combinación de representaciones................................... III. GRÁFICOS AVANZADOS......................................................... III.1. GRÁFICOS DEMOGRÁFICOS............................................. III.2. GRÁFICOS DE BURBUJAS.................................................. III.3. GRÁFICOS DE ESCALERA.................................................. III.4. DIAGRAMAS DE FLUJO...................................................... III.5. GRÁFICOS DE TELARAÑAS.............................................. III.6. DIAGRAMA DE EVENTOS.................................................. III.7. MATRICES DE GRÁFICOS….............................................. III.8. GRÁFICOS DE MATRICES DE CORRELACIONES.......... III.9. DIAGRAMA DE VENN Y EULER....................................... III.10. GRÁFICOS DE VARIABLES CUALITATIVAS EN FUNCIÓN DE VARIABLES CUANTITATIVAS................... III.11. DISTRIBUCIONES DE VARIABLES CUALITATIVAS.. III.12. GRÁFICOS PARA TABLAS DE CONTINGENCIA.......... III.13. GRÁFICOS PARA GRANDES CONJUNTOS DE DATOS............................................................................................. III.13.1. Dispersión...................................................................... III.13.2. Matrices de gráficos....................................................... III.13.3. Espectros........................................................................ III.13.4. Gráficos polares............................................................. III.14. GRÁFICOS PARA PRUEBAS ALEATORIAS................... III.15. DIAGRAMA DE TAYLOR.................................................. III.16. CURVAS DE SUPERVIVENCIA Y REGRESIÓN DE COX.................................................................................................. III.17. ANÁLISIS DE VARIANZA................................................. III.18. GRÁFICOS DE DIAGNÓSTICO EN MODELOS LINEALES.......................................................................................
100 103 104 106 106 112 117 117 120 121 123 123 125 128 129 131 133 139 147 152 153 158 161 165 166 167 169 171 173 177 180 182 186
ÍNDICE
III.19. GRÁFICOS DE MEDIDAS DE RIESGO DE EXTINCIÓN..................................................................................... III.20. GRÁFICOS PARA ANÁLISIS MULTIVARIANTE........... III.20.1. Biplot.............................................................................. III.20.2. Análisis Discriminante................................................... III.20.3. GGE Biplot..................................................................... III.20.4. Gráficos combinando Análisis de Componentes Principales y Análisis Discriminante........................................... III.21. MODELO DE EFECTOS PRINCIPALES ADITIVOS E INTERACCIÓN MULTIPLICATIVA (AMMI).......................... III.22. GRÁFICOS DE INFERENCIA EN COSTE/EFICACIA..... III.23. META-ANÁLISIS................................................................ III.23.1. Diagrama de bosque....................................................... III.23.2. Gráfico de L'Abbé.......................................................... III.23.3. Diagrama de embudo..................................................... III.23.4. Diagrama de análisis de sensibilidad............................. III.23.5. Diagrama de meta-análisis acumulativo........................ III.24. GRÁFICOS DE CLASIFICACIÓN...................................... III.24.1. Clasificación jerárquica (dendrograma)......................... III.24.2. Clasificación de k-medias.............................................. III.24.3. Árbol de consenso.......................................................... III.24.4. Árboles de Clasificación y Regresión: CARTs.............. III.24.5. Árboles de Clasificación y Regresión (CARTs) y Análisis de Componentes Principales.......................................... III.24.6. Árboles de Inferencia..................................................... III.25. DIAGRAMAS PALEOECOLÓGICOS................................ III.26. GRÁFICOS CLIMÁTICOS.................................................. III.26.1. Rosa de vientos.............................................................. III.26.2. Diagrama de Walter-Lieth............................................. III.27. CONTROL DE CALIDAD................................................... III.27.1. Definir............................................................................ III.27.1.1. Diagrama de Ishikawa........................................... III.27.1.2. Diagrama de Pareto............................................... III.27.2. Medir.............................................................................. III.27.2.1. MSA tipo I............................................................... III.27.2.2. MSA tipo II............................................................. III.27.3. Analizar.......................................................................... III.27.4. Mejorar........................................................................... III.27.4.1. Diseño factorial...................................................... III.27.4.2. Diseño con mezclas................................................ III.27.4.3. Diseños Taguchi.....................................................
IX
188 190 190 192 199 212 216 219 224 225 232 234 236 237 239 239 242 247 249 255 260 271 274 274 276 278 279 279 280 282 282 284 288 290 291 296 299
X
GRÁFICOS ESTADÍSTICOS Y MAPAS CON R
III.27.5. Controlar........................................................................ III.27.5.1. Variables................................................................ III.27.5.2. Atributos................................................................. III.28. MINERÍA DE DATOS.......................................................... III.28.1. Cargar datos................................................................... III.28.2. Explorar.......................................................................... III.28.3. Pruebas........................................................................... III.28.4. Modelos..........................................................................
302 303 307 309 310 312 315 316
IV. MAPAS.......................................................................................... IV.1. ÁREAS ADMINISTRATIVAS.............................................. IV.2. GRÁFICOS DENTRO DE MAPAS....................................... IV.3. MAPAS CON INFORMACIÓN ADICIONAL..................... IV.4. MAPAS DE VECTORES....................................................... IV.5. MAPAS INTERACTIVOS..................................................... IV.6. MAPAS HIDROLÓGICOS....................................................
319 319 327 328 338 340 341
BIBLIOGRAFÍA.................................................................................
347
ÍNDICE DE PAQUETES, FUNCIONES Y ARGUMENTOS........
355
PRÓLOGO Y AGRADECIMIENTOS Los estadísticos han utilizado siempre gráficos para mostrar los resultados de forma que pudieran ser interpretados por diferentes tipos de lectores, incluyendo aquellos con escasos o nulos conocimientos de estadística. Los gráficos ayudan a entender mejor las conclusiones obtenidas en la aplicación de diferentes métodos estadísticos, y generalmente se busca con la representación reforzar visualmente los aspectos más destacables de los datos y los resultados. Algunos gráficos estadísticos aparecen con frecuencia en la prensa o en los distintos medios de comunicación, ya que son necesarios para entender mejor la realidad que nos rodea. Un conocimiento elemental de los gráficos más comunes forma parte hoy en día de la cultura general de los ciudadanos, y es habitual encontrarlos, junto con otros conceptos estadísticos elementales, en los planes de estudios de la enseñanza obligatoria de cualquier país moderno. Existen centenares de tipos distintos de gráficos y múltiples variantes de cada uno de ellos. Los programas estadísticos generalmente han prestado mucha atención a la construcción de gráficos, que suele ser un apartado importante del menú de usuario. A menudo se busca la construcción automática del gráfico, liberando al usuario del esfuerzo y la incomodidad de definir tamaños, escalas, líneas, colores, leyendas, o complementos diversos. Existen programas no estadísticos de uso general, como por ejemplo hojas de cálculo, sistemas de gestión de bases de datos, entornos de programación, programas de edición o de diseño de páginas web, que incluyen también herramientas para la construcción de gráficos estadísticos, ya que la presentación de la información de una forma adecuada es un elemento esencial que ha superado hace mucho tiempo el estricto ámbito de la Estadística para convertirse en una necesidad transversal de aplicación prácticamente universal. Algunos gráficos son fácilmente interpretables, sin requerir una formación previa, ya que son intuitivos y asequibles a todos. Otros requieren un conocimiento adicional sobre el significado exacto de los distintos elementos representados. Por último, existe una tercera categoría de gráficos, en número creciente, cuya complejidad interpretativa requiere un conocimiento experto de la técnica estadística que lo emplea. No es posible interpretar adecuadamente esos gráficos sin haber comprendido suficientemente un método estadístico concreto, siendo el gráfico en esos casos una parte importante del mismo. Muchos métodos estadísticos conducen a un gráfico de interpretación no trivial, por ejemplo el escalamiento multidimensional, árboles de clasificación, algunas técnicas de control de calidad, análisis de series temporales, meta-análisis, etc. Muchos gráficos nacieron históricamente como herramientas meramente descriptivas, como una alternativa o un complemento a las tablas y medidas numéricas. Sin embargo, desde antiguo se conocen las posibilidades analíticas y explicativas de algunos gráficos, y actualmente existen gráficos que constituyen potentes instrumentos de análisis y decisión.
XI
XII
GRÁFICOS ESTADÍSTICOS Y MAPAS CON R
R se ha convertido durante la última década en el programa estadístico de uso general más potente, con mucha diferencia sobre los restantes, y también el más versátil. No solo es el preferido por la comunidad estadística, que ha apostado sin reservas por su desarrollo mediante un esfuerzo colectivo generoso y desinteresado sino que, además, quizás en parte por su carácter de programa totalmente gratuito, empieza a ser utilizado cada vez más por investigadores y técnicos de cualquier ámbito de conocimiento, hasta el punto de que actualmente es posible encontrar sin dificultad aplicaciones, desarrolladas en R, de interés para usuarios con necesidades estadísticas especializadas, en campos tan distintos como ecología, medicina, ingeniería, biología, economía, lingüística, sociología, o –como no- estadística. R es por añadidura el programa estadístico con mayor capacidad y flexibilidad para la construcción de gráficos, y ese es el objeto de este libro, mostrar las enormes posibilidades que R brinda en este aspecto, y enseñar a los usuarios interesados como construir los gráficos que necesitan. La filosofía de R no coincide con la mayoría de los programas estadísticos alternativos. No se busca tanto la rapidez y comodidad del usuario mediante la construcción automática de un gráfico único y cerrado sino, por el contrario, la flexibilidad y el control de los distintos elementos del gráfico, que el usuario puede diseñar a su medida. Este planteamiento, que hace posible obtener gráficos personalizados, obliga por otra parte a un mayor esfuerzo de programación y a un mayor nivel de conocimientos, pero el esfuerzo obtiene su recompensa en un resultado en general mucho más satisfactorio. Por otra parte existen muchos procedimientos de R que permiten obtener gráficos de forma rápida y sencilla si se desea, aplicando condiciones estándar y opciones por defecto, que no requieren un esfuerzo para el usuario mucho mayor del que exigen otros programas estadísticos. En la primera parte del libro se presentan las técnicas generales para la construcción de gráficos con R: paquetes, funciones, argumentos y opciones, con numerosos ejemplos de aplicación reales que permitirán al lector utilizar las funciones básicas con soltura para la construcción de la mayoría de los gráficos más comunes. Un buen conocimiento de estas técnicas básicas será útil también para la construcción y modificación de otros gráficos más complejos. El objetivo es el manejo de los distintos parámetros que controlan el tamaño y aspecto, escalas, ejes, líneas, puntos, colores, textos y leyendas, símbolos y otros elementos gráficos, así como las utilidades que permiten combinar distintos gráficos, añadir elementos nuevos a un gráfico, y otras más avanzadas. En la segunda parte del libro se revisan de forma sistemática los principales gráficos, desde los más básicos y habituales (histograma, diagrama de barras, de sectores, de cajas, de dispersión, etc.) hasta los más complejos (biplot, curvas de nivel, gráficos de control, etc.), incluyendo algunos gráficos de reciente aparición asociados a técnicas estadísticas novedosas. No se pretende elaborar un catálogo de todos los gráficos existentes sino solamente describir los más usuales o los más ú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 técnicas, nuevos paquetes y nuevos gráficos, así como mejoras en los ya existentes. Para cada uno de los gráficos descritos en el libro se presentan con detalle los procedimientos para la construcción y las principales claves de interpretación, de modo que puedan ser utilizados por usuarios no expertos o sin conocimientos estadísticos avanzados.
PRÓLOGO Y AGRADECIMIENTOS
XIII
Para todos los gráficos se muestra con ejemplos la construcción paso a paso, de tal forma que sea sencillo reproducir el resultado con cualquier otro conjunto de datos. Se explican las características del gráfico, el significado de los diferentes argumentos de cada una de las funciones, y el ámbito de aplicación. También se lleva a cabo una interpretación de los resultados para la aplicación concreta y el ejemplo utilizado en cada caso. Esta interpretación es quizás el aspecto más difícil, sobre todo en algunos gráficos relacionados con técnicas estadísticas complejas, ya que depende siempre de los resultados, que pueden ser distintos en cada aplicación. Aunque se intenta explicar las claves principales de interpretación, lo cierto es que solamente un conocimiento profundo de los aspectos teóricos y prácticos relacionados con la técnica estadística involucrada garantizará una interpretación correcta de todos los resultados gráficos obtenidos, por lo que recomendamos vivamente a los lectores interesados que no se detengan en la realización práctica de los gráficos, sino que intenten comprender los diferentes elementos teóricos (propios del campo de aplicación) y estadísticos que subyacen en los resultados a interpretar, y consulten con un experto estadístico sus dudas cuando sea necesario. Dado el carácter 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 podrían dar lugar a resultados diferentes de los indicados, o requerir datos e instrucciones distintas de las que se citan. Los autores del libro no se hacen responsables de estos hipotéticos 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.
CAPÍTULO I PROGRAMACIÓN DE GRÁFICOS CON R
I.1. Primeros pasos con R I.1.1. INSTALACIÓN El programa está en la dirección http://cran.r-project.org/. Allí veremos, en la parte superior, un enlace para la instalación 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 página donde podemos encontrar el archivo de instalación con la última versión. Hay varias formas de instalar R en distribuciones de Linux; de forma general, primero es necesario añadir «CRAN» a la lista de repositorios, configurar el nuevo repositorio adecuadamente e instalar el r-base.
I.1.2. INTERFAZ Existen diferentes entornos gráficos que facilitan la interacción con el usuario (llamados GUI, del inglés Graphical Users Interface). Entre los más 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 mayoría 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:
1
GRÁFICOS ESTADÍSTICOS Y MAPAS CON R
2
RGui se instala de forma automática con el paquete base de Windows. El resto de GUIs es necesario instalarlas específicamente. Se encuentran gratuitamente en internet. Estas GUIs, para facilitar la interacción con el usuario, disponen de una serie de menús desplegables, cuya complejidad puede ir desde solamente algunas sencillas posibilidades de edición, apertura de ficheros, guardar datos, cargar paquetes, actualizar, etc. como podría ser el caso de RGui, hasta corrección de sintaxis de instrucciones, menús desplegables para importar/exportar datos, gráficos y múltiples técnicas estadísticas, como es el caso de R Commander y RKward.
I.1.3. SELECCIONAR DIRECTORIO DE TRABAJO Si disponemos de alguno de los múltiples tipos de interfaz gráfica, además 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 específico utilizará el que tiene por defecto, que depende de la instalación que se haya hecho. El directorio de trabajo se selecciona con la siguiente instrucción:
¾
setwd(“C:/Documents and Settings/All Users/ArchivosR”)
La función «setwd()» permite seleccionar el directorio deseado escribiendo como argumento toda la ruta de directorios entrecomillada, con las barras separadoras orientadas hacia la derecha. Si queremos saber cuál es el directorio de trabajo actual, debemos escribir la siguiente instrucción:
¾
getwd()
Aquí tenemos un ejemplo de cómo establecer un directorio de trabajo mediante instrucciones y después preguntar cual es el directorio de trabajo actual:
¾ setwd("C:/Archivos de programa") ¾ getwd()
La mayoría de las GUIs disponen de una opción a través de menú para establecer el directorio de trabajo. En RGui, que como se mencionó anteriormente es el entorno que se usará en la mayoría de los ejemplos en este libro, se encuentra en el menú «Archivo» Ö «Cambiar dir…». Tras pulsar en esta opción surge un cuadro de diálogo en el que seleccionaremos nuestro directorio.
PROGRAMACIÓN DE GRÁFICOS CON R
3
Para salir de R es suficiente con teclear «q()» en la línea de instrucciones. Si trabajamos con cualquiera de los GUIs, suele haber además un menú con la opción «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 próxima vez que deseemos utilizarlos abriendo el archivo. Se guarda como un archivo con extensión Rdata. Es posible tener abiertas simultáneamente varias áreas de trabajo. También es posible guardar la serie de instrucciones que hayamos escrito, como archivo Rhistory. No obstante, para esto es más interesante la opción de editarlos creando un script, como veremos a continuación.
I.1.4. PAQUETES GRÁFICOS Para realizar cualquier aplicación con R se usa un paquete, que es un archivo con el código que contiene las funciones que nos interesa utilizar. Estos paquetes son programados por usuarios que los ponen a disposición pública en los repositorios de «CRAN». Una librería es un directorio donde se instala un determinado grupo de paquetes. Hay un listado con todos los paquetes disponibles, incluyendo también todos los paquetes gráficos, en la página 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 gráficas véase la página http://rgm2.lab.nig.ac.jp/RGM2/images.php?show=all donde, además de tener una lista de los paquetes, también se muestran los gráficos. Las diferentes instrucciones de R para realizar gráficos, que forman parte de los diferentes paquetes, se pueden dividir en: x x
Funciones gráficas. Permiten realizar diferentes tipos de gráficos y tienen sus propios argumentos específicos. Complementos gráficos. Son también funciones que permiten añadir a los gráficos líneas, textos, flechas, leyendas, etiquetas, etc., y también tienen sus propios argumentos específicos.
GRÁFICOS ESTADÍSTICOS Y MAPAS CON R
4 x
Argumentos generales. Son argumentos que se pueden usar en las funciones y complementos gráficos anteriores, además de los argumentos específicos de cada una de ellas.
El siguiente esquema resume la estructura de los paquetes, con sus funciones, las cuales tienen argumentos específicos y también pueden usar argumentos generales que son de uso común para todas las funciones.
Paquetes
Funciones
Argumentos específicos
Argumentos generales
plot()
type=
xm ain=
contour()
nlevels=
triangle. plot()
addm ean=
text() graphics
ade4
xlim it=
El modo más elemental de instalar un paquete es ejecutando la siguiente instrucción:
¾
install.packages("nombre del paquete", dep=TRUE)
El nombre del paquete se escribe entre comillas, y después de la coma es muy recomendable incluir el argumento «dep=TRUE», que indica que se instalen también 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 podrían no funcionar. Los GUIs suelen incluir algún tipo de menú para instalar paquetes. Por ejemplo, en RGui se encuentra en «Paquetes» Ö «Instalar paquetes(s)…», y ya instala por defecto todas las dependencias.
PROGRAMACIÓN DE GRÁFICOS CON R
5
Inmediatamente después de la anterior instrucción, 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 geográfica. Todos los europeos funcionan bien. Después de seleccionar el servidor, elegimos el paquete en la lista alfabética, y se descargará de forma automática, quedando instalado en ese ordenador de forma permanente.
Cuando se instala un paquete se instalan las funciones que contiene y, en muchos casos, también se instalan datos que se utilizan para ilustrar los ejemplos de uso de las funciones. Para acceder a una lista completa de todas las funciones dentro de un paquete, teclearíamos la siguiente instrucción:
¾ library(help="graphics") La mejor forma de consultar la lista de argumentos disponibles de cada función es cargando el paquete y luego ver el menú ayuda de la función:
¾ library(vcd) ¾ help(assoc) Existen demos que nos muestran buenos ejemplos de gráficos con su correspondiente código:
¾ demo(graphics)
GRÁFICOS ESTADÍSTICOS Y MAPAS CON R
6 ¾ demo(image)
Las funciones gráficas que permiten hacer los distintos tipos de gráficos se explicarán en el siguiente capítulo. Como los complementos gráficos y los argumentos generales son importantes cuando se realiza cualquier tipo de gráfico, se explicarán antes de pasar a ver todas las funciones gráficas 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 página web http://www.ipez.es/GRAFICOS_ ESTADISTICOS_Y_MAPAS_CON_R.rar.
I.2. Complementos gráficos Como se mencionó anteriormente, los complementos gráficos son también funciones que sirven para añadir a los gráficos líneas, textos, cuadros, flechas, leyendas, etiquetas, etc. Por lo tanto sirven para complementar los gráficos que se realizan con las funciones gráficas que veremos en el siguiente capítulo. En el esquema que sigue se muestra en primer lugar cada función y la página de este libro donde se puede encontrar un ejemplo de utilización. Después se explica para que sirve, el paquete al que pertenece, y los argumentos específicos que tiene, junto con sus valores por defecto, indicados con el símbolo ‘*’ en la descripción de los argumentos. a y b: intersección y pendiente de la recta h: valor de y en una línea horizontal v: valor de x en una línea vertical
abline pág. 41
Añade líneas: Paquete graphics abline(a = NULL, b = NULL, h = NULL, v = NULL, reg = NULL, coef = NULL, untf = FALSE,....)
reg: un vector del tipo c(a,b) con la intersección y pendiente de la regresión coef: Se especifica una regresión, por ejemplo coef (lm c(x~y)) untf: FALSE* o TRUE. Si un eje tiene transformación log y se pone TRUE, representa la línea sin transformar
PROGRAMACIÓN DE GRÁFICOS CON R
7
x0 e y0: coordenadas de origen
arrows pág. 97
Representa flechas: Paquete graphics arrows(x0, y0, x1, y1, length = 0,25, angle = 30, code = 2, col, lty, lwd,....)
x1 e y 1 : finales
coordenadas
length: longitud en pulgadas de la punta de flecha angle: ángulo de punta de la flecha
la
code: tipo de flecha
side: 1 eje inferior, 2 eje izquierdo, 3 eje superior y 4 eje derecho at: variable con los valores donde se pondrán las divisiones del eje. En caso de no ponerla se calculan automáticamente
axis pág. 95
Añade ejes: Paquete graphics axis(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.....)
labels: TRUE*, FALSE, variable con las etiquetas de los intervalos, un carácter o un vector tick: valor lógico (TRUE* o FALSE) que indica si se representan los intervalos line: número de líneas de separación con el eje pos: coordenada donde se pondrá el eje outer: valor lógico (TRUE o FALSE*) que define si el eje se representa fuera o dentro de los márgenes del gráfico hadj y padj: ajustes horizontales y verticales en una escala de 0 a 1
8
GRÁFICOS ESTADÍSTICOS Y MAPAS CON R
box pág.95
Pinta un marco en el gráfico: Paquete graphics box(which = "plot", lty,....)
grid pág. 48
Representa una cuadrícula: Paquete graphics grid(nx = NULL, ny = nx, col = "lightgray", lty = "dotted", lwd = par("lwd"),....)
which: indica donde representar el marco y puede ser "plot", "figure", "inner" o "outer"
nx y ny: número de celdas en las direcciones x e y. Por defecto utiliza las divisiones de los ejes
x e y: coordenadas de la leyenda legend: texto de la leyenda
legend pág. 42
Añade una leyenda: Paquete graphics legend(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
fill: color de relleno ncol: número de columnas horiz: si es TRUE los textos son horizontales
La posición de la leyenda se especifica con coordenadas o con palabras clave: "bottomright", "bottom", "bottomleft", "topleft", "left", "top", "topright", "right" o "center" bty: define el marco de la leyenda: "o" con marco y "n" sin marco
lines pág. 58
Añade líneas o une los puntos con líneas: Paquete graphics lines(x = NULL, y = NULL, type = "l",....)
x, y: coordenadas de los puntos a unir mediante líneas type: véase la función «plot()» para ver los distintos tipos de línea
PROGRAMACIÓN DE GRÁFICOS CON R
locator pág. 42
Permite definir con el ratón la posición de objetos en el panel gráfico y devuelve las coordenadas: Paquete graphics locator(n = 512, type = "n",....)
9
n: el número máximo de objetos que se desea ubicar type: Con "n" ubica cualquier objeto, con "p" representa símbolos y con "l" pinta líneas uniendo los puntos, para lo cual n debe ser mayor que 1 text: texto side: eje donde se ubicará el texto; abajo (1), izquierda (2), arriba (3), y derecha (4) line: valor numérico con la distancia, en líneas, desde el eje outer: si es TRUE utiliza los márgenes exteriores si están disponibles
mtext pág. 46
Permite añadir textos en el margen del gráfico: Paquete graphics mtext(text, side = 3, line = 0, outer = FALSE, at = NA, adj = NA, padj = NA, cex, col, font,...)
at: posición en el gráfico donde se quiere escribir el texto adj: ajuste del texto en el sentido de la dirección de lectura. Para los textos paralelos a los ejes, adj = 0 significa alineación hacia la izquierda o abajo, y adj = 1 significa alineación derecha o arriba. padj: ajuste del texto perpendicular a la dirección de lectura (que es controlada por adj). Para los textos paralelos a los ejes, padj = 0 significa alineación derecha o arriba, y padj = 1 significa alineación hacia la izquierda o abajo.
10
points pág. 42
GRÁFICOS ESTADÍSTICOS Y MAPAS CON R
Permite representar símbolos en la coordenadas especificadas: Paquete graphics points(x, y, type = "p",....)
x e y: coordenadas de los puntos type: véase la función «plot()» para ver los distintos tipos de gráficos x e y: coordenadas de los vértices del polígono
polygon pág. 44
Representa polígonos: Paquete graphics polygon (c(x1,x2), c(y1,y2), density = NULL, angle = 45, border = NULL, col, lty,....)
density: densidad sombreado
del
angle: ángulo de las líneas del sombreado border: color del borde, NA es sin borde y NULL* con el color por defecto (negro) xleft, ybottom, xright, ytop: extremos del rectángulo
rect pág. 58
Pinta un rectángulo: Paquete graphics rect(xleft, ybottom, xright, ytop, density = NULL, angle = 45, col = NA, border = TRUE, lty, lwd,...)
density: densidad sombreado
del
angle: ángulo de líneas de sombreado
las
border: si es TRUE se pinta un borde y NA sin bordes
rug pág. 95
segments pág. 58
Añade al gráfico una “alfombra”, con pequeños trazos verticales en cada punto z del eje horizontal: Paquete graphics rug(z, ticksize = 0.03, side = 1, lwd = 0.5, col,....)
Dibuja segmentos entre puntos: Paquete graphics segments(x0, y0, x1, y1, col, lty, lwd,....)
z: posición en el eje x ticksize: longitud de los trazos verticales side: lado en el que dibujará la alfombra: 1 inferior, 3 superior
x0, y0, x1, y1: coordenadas de origen y final de la línea
PROGRAMACIÓN DE GRÁFICOS CON R
11
x o y: coordenadas donde se ubicará el texto
text pág. 44
Permite añadir etiquetas a las coordenadas de un gráfico: Paquete graphics text(x, y = NULL, labels, adj = NULL, srt, offset = 0.5, pos = NULL, cex = 1, col = NULL, font = NULL, ...)
labels: texto que se quiere escribir o variable con las etiquetas del texto de los puntos srt: ángulo del texto offset: posición del texto en el eje vertical respecto a la coordenada pos: eje donde se ubicará el texto; abajo (1), izquierda (2), arriba (3), y derecha (4) main: texto del título del gráfico sub: subtítulo
title pág. 40
Añade texto en títulos o leyendas: Paquete graphics title(main = NULL, sub = NULL, xlab = NULL, ylab = NULL, line = NA, outer = FALSE, ...)
xlab: leyenda del eje x ylab: leyenda del eje y line: valor numérico que define la separación del texto con respecto al gráfico outer: si es TRUE utiliza los márgenes exteriores si están disponibles
I.3. Argumentos generales En la sección anterior se mostraron los complementos gráficos. A continuación se resumen los argumentos gráficos generales, es decir, aquellos que se pueden usar en la mayoría de las funciones y complementos gráficos. La estructura de los esquemas consiste en mostrar en primer lugar el argumento y la página donde se da un ejemplo del mismo, después se explica para que sirve y, por último, los diferentes valores que tiene (el símbolo * indica cual es la opción por defecto que tiene el argumento). La abreviación A.L. indica que son argumentos solamente de lectura.
12
GRÁFICOS ESTADÍSTICOS Y MAPAS CON R
Los siguientes argumentos solamente se usan con la función «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 mayoría de funciones gráficas, además de la función «par()».
add pág. 46
Si se selecciona TRUE añade el gráfico a uno ya creado. Es igual al argumento «new», pero este último solamente se usa con la función «par()». No se puede usar con todas las funciones gráficas
FALSE* TRUE
0 (texto a la izquierda)
adj pág. 95
Especifica la alineación de los textos en los gráficos y también sirve para las funciones «text», «mtext» y «title»
0.5 (texto centrado)* 1 (texto a la derecha) Puede tomar cualquier valor entre 0 y 1, y algunas funciones permiten valores mayores
ann pág. 95
ask pág. 174
asp pág. 40
axes
Si se selecciona FALSE elimina las leyendas de los ejes y los títulos de los gráficos cuando se usa con la función «plot.default»
TRUE* FALSE TRUE
Si es TRUE se pregunta antes de añadir un nuevo gráfico
Define la proporción de escala o relación de aspecto de los ejes: una unidad en x tiene la misma longitud que asp unidades en y
FALSE*
Cualquier valor numérico positivo: 1*
TRUE*
pág. 99
Especifica si se representan los ejes del gráfico
bg pág. 42
Define el color de fondo de la ventana donde se ubicarán los gráficos
FALSE La función «colors()» informa de los 657 colores disponibles
PROGRAMACIÓN DE GRÁFICOS CON R
bg en «plot.default» y «points» pág. 42
En la función «plot.default» indica el relleno de los símbolos que son transparentes y en «points» indica el relleno de los símbolos pch = 21 a 25
13
La función «colors()» informa de los 657 colores disponibles
"o" (marco completo)* "n" (sin marco en la función «legend») "c" (no se representa el borde derecho)
bty pág. 42
Permite definir el tipo de marco de los gráficos. En el caso de la función «legend» solamente admite los valores "o" (con marco ) y "n" (sin marco)
"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)
cex.axis (rótulos de los ejes)
cex pág. 40
Valor numérico que define el tamaño de los textos. Se puede combinar con alguno de los siguientes subargumentos para especificar el tipo de texto
cex.lab (leyendas de los ejes) cex.main (título del gráfico) cex.sub (subtítulo del gráfico)
14
GRÁFICOS ESTADÍSTICOS Y MAPAS CON R
col.axis (rótulos de los ejes)
col pág. 42
col.lab (leyendas de los ejes) Define el color col.main (título del gráfico) col.sub (subtítulo del gráfico)
cra pág. 95
din pág. 95
Argumento de lectura que da información sobre el ancho y el alto de los caracteres en píxeles
A.L.
Argumento de lectura que da información sobre el ancho y el alto del gráfico en pulgadas
A.L.
"" (Utiliza el tipo de letra que existe por defecto)* family pág. 40
Especifica el tipo de letra de los textos. Se puede utilizar en «par()» y en «text()»
Otros tipos de letras como "serif", "sans", "mono", etc
fg pág. 83
Si se usa con la función «par()», se define el color del marco, líneas y texto del gráfico
La función «colors()» informa de los 657 colores disponibles
fig pág. 92
Define los límites del gráfico con el formato c(x1, x2, y1, y2). Si no se usa con el argumento «new= TRUE» crea un nuevo gráfico.
En una escala de 0 a1
fin pág. 92
Define el tamaño del gráfico en pulgadas con el formato c(ancho, alto). Si no se usa con el argumento «new=TRUE» crea un nuevo gráfico.
Cualquier valor numérico
PROGRAMACIÓN DE GRÁFICOS CON R
15 font.axis (rótulos de los ejes)
font pág. 40
Valor numérico que define la fuente de los textos. El valor 1 es la letra normal, 2 es negrita, 3 es itálica y 4 es itálica y negrita
font.lab (leyendas de los ejes) font.main (título del gráfico) font.sub (subtítulo del gráfico)
lab pág. 58
Valor numérico con el formato c(x,y,len) que define el número de divisiones de los ejes. El valor de «len» hay que especificarlo pero R no lo utiliza
Cualquier valor numérico (5,5,7)*
0* es paralelo al eje
las pág. 97
Define la posición de las etiquetas de los ejes
1 horizontal 2 perpendicular al eje 3 vertical
lend pág. 54
Define el estilo del final de la línea y se puede especificar con un número o letras
0 o "round" es un extremo redondeado* 1 o "butt" es un extremo grueso 2 o "square" es un extremo cuadrado
0 ó "blank" sin línea
lty pág. 48
Define el tipo de línea
1 o "solid" línea sólida*
1
2 ó "dashed" línea discontinua
2
3 ó "dotted" línea punteada
3
4 ó "dotdash" línea de puntos y rayas
4
5 ó "longdash" línea de guión largo
5
6 ó "twodash" línea de doble raya
6
16
GRÁFICOS ESTADÍSTICOS Y MAPAS CON R
lwd pág. 60
Define el grosor de línea
Cualquier valor numérico 1*
mai pág. 99
Un vector numérico con el formato c(abajo, izquierda, arriba, derecha) que define los márgenes de la figura en pulgadas
Cualquier valor numérico
main pág. 40
Permite poner títulos en los gráficos
Cualquier texto
mar pág. 99
Un vector numérico con el formato c(abajo, izquierda, arriba, derecha) que define el número de líneas de los márgenes de la figura
Cualquier valor numérico
mex pág. 94
Factor de expansión del tamaño de caracteres en los márgenes
Cualquier valor numérico
mfcol pág. 48
Vector con el formato c(nr, nc) que indica el número de figuras por fila (nr) y por columna (nc), rellenando primero columnas
Cualquier valor numérico
mfrow pág. 48
Igual que «mfcol» pero rellenando primero las filas
Cualquier valor numérico
mgp pág. 48
Vector numérico con el formato c(t,e,l) que especifica la posición de la leyenda de los ejes (t), el texto de las divisiones de los ejes (e) y la línea de los ejes (l). El valor por defecto es (3,1,0)
Cualquier valor numérico
new pág. 45
Indica que el nuevo gráfico se ponga en el panel que ya existe y no se borre, por tanto, el gráfico anterior
TRUE FALSE*
oma pág. 96
Un vector numérico con el formato c(abajo, izquierda, arriba, derecha) que define los márgenes del texto en el panel, en número de líneas
Cualquier valor numérico
omd pág. 100
Vector numérico con el formato c(x1,x2,y1,y2) que define los márgenes internos donde se ubicará el gráfico, en una escala de 0 a 1
Entre 0 y 1
omi pág. 100
Un vector numérico con el formato c(abajo, izquierda, arriba, derecha) que define los márgenes del panel en pulgadas
Cualquier valor numérico
PROGRAMACIÓN DE GRÁFICOS CON R
MARGEN EXTERNO
oma (3)
omi (3)
ÁREA DEL PANEL GRÁFICO mar (3)
mai (3)
17
ÁREA DE LA FIGURA oma (2)
mar (2)
mar (4)
oma (4)
omi (2)
mai (2)
mai (4)
omi (4)
omd (1)
mar (1)
mai (1) omd (4)
omd (2) omd (3) oma (1)
omi (1)
De 1 a 14 símbolos sin relleno negro
pch pág. 40
Valor numérico entre 1 y 25 que define el tipo de símbolo (el símbolo que corresponde a cada número se muestra en el siguiente cuadro). También se puede poner entre "" cualquier carácter, como se muestra a modo de ejemplo en el cuadro con a, *, !, ¡ y $
De 15 a 20 símbolos 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 carácter 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 25
a * ! ¡ $
18
ps pág. 39
pty pág. 83
GRÁFICOS ESTADÍSTICOS Y MAPAS CON R
Tamaño del punto de texto (unidad de medida de los caracteres) en 1/72 pulgadas Carácter que indica si el gráfico es cuadrado o se alarga lateralmente cuando se amplía la ventana
Cualquier valor numérico Con "s" genera una figura cuadrada Con "m" el gráfico se amplia al máximo posible
srt pág. 44
Valor numérico que define el ángulo del texto. Solamente funciona con la función «text()»
Cualquier valor numérico
sub pág. 129
Permite poner gráficos
Cualquier texto
tck pág. 48
tcl pág. 48
xaxp pág. 60
xaxs pág. 95
subtítulos
en
los
Valor alfanumérico que define el tamaño de las marcas de los ejes, en proporción al área de la región de la figura. El valor 1 pone líneas interiores en el gráfico
Con tck=NA deja la marca por defecto*
Valor alfanumérico que define el tamaño de las marcas de los ejes. Se diferencia de «tck» en que las medidas son reales y no en proporción
Con tck=NA deja la marca por defecto*
Vector numérico con el formato c(x1, x2, n), donde x1 y x2 son los extremos de las marcas de eje x, y n el número de intervalos o marcas en el eje
Caracter que define como se calculan los intervalos en el eje x, donde el límite viene definido por «xlim» o los datos originales
Cualquier otro valor numérico
Cualquier otro valor numérico
Cualquier valor numérico
"r" (regular) extiende un 4% más de los límites dados en «xlim», y calcula el número de intervalos que mejor se ajustan a esos límites* "i" (interno) busca el número de intervalos más adecuado a los datos originales
xaxt pág. 96
Valor lógico que especifica si se representan los intervalos del eje x
"s"* "n"
PROGRAMACIÓN DE GRÁFICOS CON R
19
xlab pág. 40
Texto de la leyenda del eje x
Cualquier texto
xlim pág. 42
Vector numérico con el formato c(x0, x1), donde x0 y x1 son los límites del eje x
Cualquier valor numérico
xlog pág. 58
yaxp pág. 60
yaxs pág. 95
Valor lógico que especifica si se pone el eje x en escala logarítmica
Vector numérico con el formato c(y1, y2, n), donde y1 e y2 son los extremos de las marcas del eje y, y n el número de intervalos o marcas en el eje
Caracter que define como se calculan los intervalos en el eje y, donde el límite viene definido por «ylim» o los datos originales
FALSE* TRUE
Cualquier valor numérico
"r" (regular) extiende un 4% más de los límites dados en «ylim», y calcula el número de intervalos que mejor se ajustan a esos límites* "i" (interno) busca el número de intervalos más adecuado a los datos originales
yaxt pág. 96
Valor lógico que especifica si se representan los intervalos del eje y
"s"* "n"
ylab pág. 40
Texto de la leyenda del eje y
Cualquier texto
ylim pág. 42
Vector numérico con el formato c(y0, y1), donde y0 e y1 son los límites del eje y
Cualquier valor numérico
ylog pág. 58
Valor lógico que especifica si se pone el eje y en escala logarítmica
FALSE* TRUE
GRÁFICOS ESTADÍSTICOS Y MAPAS CON R
20 I.4. Colores
Con la función «colors()», que viene en el paquete básico, es posible obtener un listado de los 657 colores disponibles. "white" "antiquewhite1" "antiquewhite4" "aquamarine2" "azure" "azure3" "bisque" "bisque3" "blanchedalmond" "blue2" "blueviolet" "brown2" "burlywood" "burlywood3" "cadetblue1" "cadetblue4" "chartreuse2" "chocolate" "chocolate3" "coral1" "coral4" "cornsilk1" "cornsilk4" "cyan2" "darkblue" "darkgoldenrod1" "darkgoldenrod4" "darkgrey" "darkolivegreen" "darkolivegreen3" "darkorange1" "darkorange4" "darkorchid2" "darkred" "darkseagreen1" "darkseagreen4" "darkslategray1" "darkslategray4" "darkviolet" "deeppink2" "deepskyblue" "deepskyblue3" "dimgrey" "dodgerblue2" "firebrick" "firebrick3"
"aliceblue" "antiquewhite2" "aquamarine" "aquamarine3" "azure1" "azure4" "bisque1" "bisque4" "blue" "blue3" "brown" "brown3" "burlywood1" "burlywood4" "cadetblue2" "chartreuse" "chartreuse3" "chocolate1" "chocolate4" "coral2" "cornflowerblue" "cornsilk2" "cyan" "cyan3" "darkcyan" "darkgoldenrod2" "darkgray" "darkkhaki" "darkolivegreen1" "darkolivegreen4" "darkorange2" "darkorchid" "darkorchid3" "darksalmon" "darkseagreen2" "darkslateblue" "darkslategray2" "darkslategrey" "deeppink" "deeppink3" "deepskyblue1" "deepskyblue4" "dodgerblue" "dodgerblue3" "firebrick1" "firebrick4"
"antiquewhite" "antiquewhite3" "aquamarine1" "aquamarine4" "azure2" "beige" "bisque2" "black" "blue1" "blue4" "brown1" "brown4" "burlywood2" "cadetblue" "cadetblue3" "chartreuse1" "chartreuse4" "chocolate2" "coral" "coral3" "cornsilk" "cornsilk3" "cyan1" "cyan4" "darkgoldenrod" "darkgoldenrod3" "darkgreen" "darkmagenta" "darkolivegreen2" "darkorange" "darkorange3" "darkorchid1" "darkorchid4" "darkseagreen" "darkseagreen3" "darkslategray" "darkslategray3" "darkturquoise" "deeppink1" "deeppink4" "deepskyblue2" "dimgray" "dodgerblue1" "dodgerblue4" "firebrick2" "floralwhite"
PROGRAMACIÓN DE GRÁFICOS CON R "forestgreen" "gold" "gold3" "goldenrod1" "goldenrod4" "gray1" "gray4" "gray7" "gray10" "gray13" "gray16" "gray19" "gray22" "gray25" "gray28" "gray31" "gray34" "gray37" "gray40" "gray43" "gray46" "gray49" "gray52" "gray55" "gray58" "gray61" "gray64" "gray67" "gray70" "gray73" "gray76" "gray79" "gray82" "gray85" "gray88" "gray91" "gray94" "gray97" "gray100" "green2" "greenyellow" "grey1" "grey4" "grey7" "grey10" "grey13" "grey16" "grey19" "grey22" "grey25" "grey28" "grey31"
"gainsboro" "gold1" "gold4" "goldenrod2" "gray" "gray2" "gray5" "gray8" "gray11" "gray14" "gray17" "gray20" "gray23" "gray26" "gray29" "gray32" "gray35" "gray38" "gray41" "gray44" "gray47" "gray50" "gray53" "gray56" "gray59" "gray62" "gray65" "gray68" "gray71" "gray74" "gray77" "gray80" "gray83" "gray86" "gray89" "gray92" "gray95" "gray98" "green" "green3" "grey" "grey2" "grey5" "grey8" "grey11" "grey14" "grey17" "grey20" "grey23" "grey26" "grey29" "grey32"
"ghostwhite" "gold2" "goldenrod" "goldenrod3" "gray0" "gray3" "gray6" "gray9" "gray12" "gray15" "gray18" "gray21" "gray24" "gray27" "gray30" "gray33" "gray36" "gray39" "gray42" "gray45" "gray48" "gray51" "gray54" "gray57" "gray60" "gray63" "gray66" "gray69" "gray72" "gray75" "gray78" "gray81" "gray84" "gray87" "gray90" "gray93" "gray96" "gray99" "green1" "green4" "grey0" "grey3" "grey6" "grey9" "grey12" "grey15" "grey18" "grey21" "grey24" "grey27" "grey30" "grey33"
21
22
GRÁFICOS ESTADÍSTICOS Y MAPAS CON R "grey34" "grey37" "grey40" "grey43" "grey46" "grey49" "grey52" "grey55" "grey58" "grey61" "grey64" "grey67" "grey70" "grey73" "grey76" "grey79" "grey82" "grey85" "grey88" "grey91" "grey94" "grey97" "grey100" "honeydew2" "hotpink" "hotpink3" "indianred1" "indianred4" "ivory2" "khaki" "khaki3" "lavenderblush" "lavenderblush3" "lemonchiffon" "lemonchiffon3" "lightblue1" "lightblue4" "lightcyan1" "lightcyan4" "lightgoldenrod2" "lightgoldenrodyellow" "lightgrey" "lightpink2" "lightsalmon" "lightsalmon3" "lightskyblue" "lightskyblue3" "lightslategray" "lightsteelblue1" "lightsteelblue4" "lightyellow2" "limegreen"
"grey35" "grey38" "grey41" "grey44" "grey47" "grey50" "grey53" "grey56" "grey59" "grey62" "grey65" "grey68" "grey71" "grey74" "grey77" "grey80" "grey83" "grey86" "grey89" "grey92" "grey95" "grey98" "honeydew" "honeydew3" "hotpink1" "hotpink4" "indianred2" "ivory" "ivory3" "khaki1" "khaki4" "lavenderblush1" "lavenderblush4" "lemonchiffon1" "lemonchiffon4" "lightblue2" "lightcoral" "lightcyan2" "lightgoldenrod" "lightgoldenrod3" "lightgray" "lightpink" "lightpink3" "lightsalmon1" "lightsalmon4" "lightskyblue1" "lightskyblue4" "lightslategrey" "lightsteelblue2" "lightyellow" "lightyellow3" "linen"
"grey36" "grey39" "grey42" "grey45" "grey48" "grey51" "grey54" "grey57" "grey60" "grey63" "grey66" "grey69" "grey72" "grey75" "grey78" "grey81" "grey84" "grey87" "grey90" "grey93" "grey96" "grey99" "honeydew1" "honeydew4" "hotpink2" "indianred" "indianred3" "ivory1" "ivory4" "khaki2" "lavender" "lavenderblush2" "lawngreen" "lemonchiffon2" "lightblue" "lightblue3" "lightcyan" "lightcyan3" "lightgoldenrod1" "lightgoldenrod4" "lightgreen" "lightpink1" "lightpink4" "lightsalmon2" "lightseagreen" "lightskyblue2" "lightslateblue" "lightsteelblue" "lightsteelblue3" "lightyellow1" "lightyellow4" "magenta"
PROGRAMACIÓN DE GRÁFICOS CON R "magenta1" "magenta4" "maroon2" "mediumaquamarine" "mediumorchid1" "mediumorchid4" "mediumpurple2" "mediumseagreen" "mediumturquoise" "mintcream" "mistyrose2" "moccasin" "navajowhite2" "navy" "olivedrab" "olivedrab3" "orange1" "orange4" "orangered2" "orchid" "orchid3" "palegreen" "palegreen3" "paleturquoise1" "paleturquoise4" "palevioletred2" "papayawhip" "peachpuff2" "peru" "pink2" "plum" "plum3" "purple" "purple3" "red1" "red4" "rosybrown2" "royalblue" "royalblue3" "salmon" "salmon3" "seagreen" "seagreen3" "seashell1" "seashell4" "sienna2" "skyblue" "skyblue3" "slateblue1" "slateblue4" "slategray2" "slategrey"
"magenta2" "maroon" "maroon3" "mediumblue" "mediumorchid2" "mediumpurple" "mediumpurple3" "mediumslateblue" "mediumvioletred" "mistyrose" "mistyrose3" "navajowhite" "navajowhite3" "navyblue" "olivedrab1" "olivedrab4" "orange2" "orangered" "orangered3" "orchid1" "orchid4" "palegreen1" "palegreen4" "paleturquoise2" "palevioletred" "palevioletred3" "peachpuff" "peachpuff3" "pink" "pink3" "plum1" "plum4" "purple1" "purple4" "red2" "rosybrown" "rosybrown3" "royalblue1" "royalblue4" "salmon1" "salmon4" "seagreen1" "seagreen4" "seashell2" "sienna" "sienna3" "skyblue1" "skyblue4" "slateblue2" "slategray" "slategray3" "snow"
"magenta3" "maroon1" "maroon4" "mediumorchid" "mediumorchid3" "mediumpurple1" "mediumpurple4" "mediumspringgreen" "midnightblue" "mistyrose1" "mistyrose4" "navajowhite1" "navajowhite4" "oldlace" "olivedrab2" "orange" "orange3" "orangered1" "orangered4" "orchid2" "palegoldenrod" "palegreen2" "paleturquoise" "paleturquoise3" "palevioletred1" "palevioletred4" "peachpuff1" "peachpuff4" "pink1" "pink4" "plum2" "powderblue" "purple2" "red" "red3" "rosybrown1" "rosybrown4" "royalblue2" "saddlebrown" "salmon2" "sandybrown" "seagreen2" "seashell" "seashell3" "sienna1" "sienna4" "skyblue2" "slateblue" "slateblue3" "slategray1" "slategray4" "snow1"
23
GRÁFICOS ESTADÍSTICOS Y MAPAS CON R
24
"snow2" "springgreen" "springgreen3" "steelblue1" "steelblue4" "tan2" "thistle" "thistle3" "tomato1" "tomato4" "turquoise2" "violet" "violetred2" "wheat" "wheat3" "yellow" "yellow3"
"snow3" "springgreen1" "springgreen4" "steelblue2" "tan" "tan3" "thistle1" "thistle4" "tomato2" "turquoise" "turquoise3" "violetred" "violetred3" "wheat1" "wheat4" "yellow1" "yellow4"
"snow4" "springgreen2" "steelblue" "steelblue3" "tan1" "tan4" "thistle2" "tomato" "tomato3" "turquoise1" "turquoise4" "violetred1" "violetred4" "wheat2" "whitesmoke" "yellow2" "yellowgreen"
La función «colorTable()» del paquete “fBasics” (Wuertz, 2011) permite ver los números de los diferentes tipos de colores.
¾ library(fBasics) ¾ colorTable(cex=1) 0
10
20
30
40
50
60
70
80
90
1
11
21
31
41
51
61
71
81
91
2
12
22
32
42
52
62
72
82
92
3
13
23
33
43
53
63
73
83
93
4
14
24
34
44
54
64
74
84
94
5
15
25
35
45
55
65
75
85
95
6
16
26
36
46
56
66
76
86
96
7
17
27
37
47
57
67
77
87
97
8
18
28
38
48
58
68
78
88
98
9
19
29
39
49
59
69
79
89
99
La función «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 intensidades y "gray" es para ver la escala de grises.
PROGRAMACIÓN DE GRÁFICOS CON R
25
¾ library(DAAG) ¾ show.colors("singles") darkred
navy
darkmagenta
midnightblue
mediumvioletred
darkviolet
gainsboro
peru
darkslateblue
palegoldenrod
lightcoral
blueviolet
moccasin
darksalmon
dimgray
lavender
sandybrown
mediumslateblue
blanchedalmond
black
lightslateblue
papayawhip
darkgreen
lightslategray
linen
forestgreen
cornflowerblue
beige
mediumseagreen
lightseagreen
oldlace
limegreen
violet
aliceblue
darkkhaki
darkturquoise
lightgoldenrodyellow
mediumspringgreen
darkgray
ghostwhite
lawngreen
mediumturquoise
floralwhite
lightgreen
lightgray
mintcream
greenyellow
powderblue
white
¾ show.colors("shades") 1
2
3
4
1
2
3
4
1
2
3
4
red
darkgoldenrod
slateblue
magenta
lightpink
dodgerblue
deeppink
goldenrod
mediumorchid
lightblue
firebrick
gold
mediumpurple
bisque
orangered
burlywood
deepskyblue
darkslategray
maroon
green
orchid
wheat
brown
springgreen
steelblue
thistle
violetred
chartreuse
turquoise
mistyrose
tomato
seagreen
skyblue
paleturquoise
indianred
palegreen
pink
antiquewhite
coral
olivedrab
cyan
lavenderblush
darkorange
lightgoldenrod
plum
seashell
chocolate
darkolivegreen
rosybrown
lemonchiffon
hotpink
yellow
lightskyblue
cornsilk
sienna
darkseagreen
lightsteelblue
lightcyan
palevioletred
khaki
slategray
honeydew
salmon
blue
peachpuff
snow
orange
purple
aquamarine
azure
lightsalmon
darkorchid
navajowhite
lightyellow
tan
royalblue
cadetblue
ivory
1
2
3
4
GRÁFICOS ESTADÍSTICOS Y MAPAS CON R
26
¾ show.colors("gray") gray
gray25
gray51
gray1
gray26
gray52
gray76
gray2
gray27
gray53
gray77
gray3
gray28
gray54
gray78
gray4
gray29
gray55
gray79
gray5
gray30
gray56
gray80
gray6
gray31
gray57
gray81
gray7
gray32
gray58
gray82
gray8
gray33
gray59
gray83
gray9
gray34
gray60
gray84
gray10
gray35
gray61
gray85
gray11
gray36
gray62
gray86
gray12
gray37
gray63
gray87
gray13
gray38
gray64
gray88
gray14
gray39
gray65
gray89
gray15
gray40
gray66
gray90
gray16
gray42
gray67
gray91
gray17
gray43
gray68
gray92
gray18
gray44
gray69
gray93
gray19
gray45
gray70
gray94
gray20
gray46
gray71
gray95
gray21
gray47
gray72
gray96
gray22
gray48
gray73
gray97
gray23
gray49
gray74
gray98
gray24
gray50
gray75
gray99
En el script I.1.R se muestran las tres funciones más importantes que permiten representar colores. La función «rgb()» permite hacer múltiples combinaciones de colores, donde el primer número 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