introducción a r - universidad de sevilla · 2 r markdown 3 vectores 4 factores 5 listas y marcos...
TRANSCRIPT
![Page 1: Introducción a R - Universidad de Sevilla · 2 R Markdown 3 Vectores 4 Factores 5 Listas y marcos de datos 6 Gr a cos en R Gr a cos univariantes Gr a cos multivariantes Anadir~ otros](https://reader033.vdocuments.site/reader033/viewer/2022050418/5f8da3943b00f555ea6f9414/html5/thumbnails/1.jpg)
Introduccion a R
Dpto. Ciencias de la Computacion e Inteligencia ArtificialUniversidad de Sevilla
![Page 2: Introducción a R - Universidad de Sevilla · 2 R Markdown 3 Vectores 4 Factores 5 Listas y marcos de datos 6 Gr a cos en R Gr a cos univariantes Gr a cos multivariantes Anadir~ otros](https://reader033.vdocuments.site/reader033/viewer/2022050418/5f8da3943b00f555ea6f9414/html5/thumbnails/2.jpg)
Contenidos
1 Introduccion
2 R Markdown
3 Vectores
4 Factores
5 Listas y marcos de datos
6 Graficos en RGraficos univariantesGraficos multivariantesAnadir otros elementos
7 Programacion en R
![Page 3: Introducción a R - Universidad de Sevilla · 2 R Markdown 3 Vectores 4 Factores 5 Listas y marcos de datos 6 Gr a cos en R Gr a cos univariantes Gr a cos multivariantes Anadir~ otros](https://reader033.vdocuments.site/reader033/viewer/2022050418/5f8da3943b00f555ea6f9414/html5/thumbnails/3.jpg)
1 Introduccion
2 R Markdown
3 Vectores
4 Factores
5 Listas y marcos de datos
6 Graficos en RGraficos univariantesGraficos multivariantesAnadir otros elementos
7 Programacion en R
![Page 4: Introducción a R - Universidad de Sevilla · 2 R Markdown 3 Vectores 4 Factores 5 Listas y marcos de datos 6 Gr a cos en R Gr a cos univariantes Gr a cos multivariantes Anadir~ otros](https://reader033.vdocuments.site/reader033/viewer/2022050418/5f8da3943b00f555ea6f9414/html5/thumbnails/4.jpg)
Introduccion
Instalacion
• El proyecto R (Windows, Mac-OS, Linux,. . . )
• Licencia GPL
• R-Studio Un entorno de desarrollo
Descripcion
• Lenguaje para el analisis de dato y la modelizacion.
• Analisis grafico y estadıstico
• Lenguaje de programacion orientado a objetos
• Ampliable a traves de numerosas bibliotecas disponibles
![Page 5: Introducción a R - Universidad de Sevilla · 2 R Markdown 3 Vectores 4 Factores 5 Listas y marcos de datos 6 Gr a cos en R Gr a cos univariantes Gr a cos multivariantes Anadir~ otros](https://reader033.vdocuments.site/reader033/viewer/2022050418/5f8da3943b00f555ea6f9414/html5/thumbnails/5.jpg)
Bibliografıa
• Zuur, Alain; Ieno, Elena N.; Meesters, Erik “A Beginner’sGuide to R” (Springer, 2009)
• Manuales basicos que acompanan a R
• Documentacion en espanol
• Recomendados:
• An Introduction to R• The R Guide
![Page 6: Introducción a R - Universidad de Sevilla · 2 R Markdown 3 Vectores 4 Factores 5 Listas y marcos de datos 6 Gr a cos en R Gr a cos univariantes Gr a cos multivariantes Anadir~ otros](https://reader033.vdocuments.site/reader033/viewer/2022050418/5f8da3943b00f555ea6f9414/html5/thumbnails/6.jpg)
Guiones/Script
• Conjunto de instrucciones que el interprete debe calcularsucesivamente.
• Las expresiones se escriben en ficheros de texto (con extension.R) y se envıan a la consola de R
![Page 7: Introducción a R - Universidad de Sevilla · 2 R Markdown 3 Vectores 4 Factores 5 Listas y marcos de datos 6 Gr a cos en R Gr a cos univariantes Gr a cos multivariantes Anadir~ otros](https://reader033.vdocuments.site/reader033/viewer/2022050418/5f8da3943b00f555ea6f9414/html5/thumbnails/7.jpg)
R-Studio
![Page 8: Introducción a R - Universidad de Sevilla · 2 R Markdown 3 Vectores 4 Factores 5 Listas y marcos de datos 6 Gr a cos en R Gr a cos univariantes Gr a cos multivariantes Anadir~ otros](https://reader033.vdocuments.site/reader033/viewer/2022050418/5f8da3943b00f555ea6f9414/html5/thumbnails/8.jpg)
Espacio de trabajo
Espacio de trabajo (workspace)
• Conjunto de objetos definidos durante una sesion de trabajocon R que no se han borrado expresamente.
• Fichero con extension .RData• Se carga con la instruccion load
![Page 9: Introducción a R - Universidad de Sevilla · 2 R Markdown 3 Vectores 4 Factores 5 Listas y marcos de datos 6 Gr a cos en R Gr a cos univariantes Gr a cos multivariantes Anadir~ otros](https://reader033.vdocuments.site/reader033/viewer/2022050418/5f8da3943b00f555ea6f9414/html5/thumbnails/9.jpg)
Directorio de trabajo
Directorio de trabajo (Working Directory)Lugar de referencia que utiliza R para localizar los ficheros que leey escribe
• getwd()
• setwd(’directorio’)
![Page 10: Introducción a R - Universidad de Sevilla · 2 R Markdown 3 Vectores 4 Factores 5 Listas y marcos de datos 6 Gr a cos en R Gr a cos univariantes Gr a cos multivariantes Anadir~ otros](https://reader033.vdocuments.site/reader033/viewer/2022050418/5f8da3943b00f555ea6f9414/html5/thumbnails/10.jpg)
Extensiones
Es posible extender R a traves de paquetes/bibliotecas.
• lattice: Biblioteca de graficoslibrary(lattice)
• ade4: Analisis de datos ecologicos
• class: Funciones de clasificacion
• seqinr: Analisis de secuencias
• Existen multiples repositorios• Bioconductor: http://www.bioconductor.org
install.packages("bioconductor",repos="www.bioconductor.org")
![Page 11: Introducción a R - Universidad de Sevilla · 2 R Markdown 3 Vectores 4 Factores 5 Listas y marcos de datos 6 Gr a cos en R Gr a cos univariantes Gr a cos multivariantes Anadir~ otros](https://reader033.vdocuments.site/reader033/viewer/2022050418/5f8da3943b00f555ea6f9414/html5/thumbnails/11.jpg)
Extensiones
![Page 12: Introducción a R - Universidad de Sevilla · 2 R Markdown 3 Vectores 4 Factores 5 Listas y marcos de datos 6 Gr a cos en R Gr a cos univariantes Gr a cos multivariantes Anadir~ otros](https://reader033.vdocuments.site/reader033/viewer/2022050418/5f8da3943b00f555ea6f9414/html5/thumbnails/12.jpg)
Ayuda
> ?mean
> help(mean)
> ??regresion
> help.search(’regression’)
• Description: Breve descripcion.
• Usage: Nombre de los argumentos y sus valores por defecto.
• Arguments: Descripcion detallada de cada argumento.
• Details: Descripcion detallada del comportamiento.
• Value: Descripcion detallada del valor devuelto por la funcion.
• See Also: Otras ayudas relacionadas.
• Examples: Ejemplos de uso.
![Page 13: Introducción a R - Universidad de Sevilla · 2 R Markdown 3 Vectores 4 Factores 5 Listas y marcos de datos 6 Gr a cos en R Gr a cos univariantes Gr a cos multivariantes Anadir~ otros](https://reader033.vdocuments.site/reader033/viewer/2022050418/5f8da3943b00f555ea6f9414/html5/thumbnails/13.jpg)
Ayuda
![Page 14: Introducción a R - Universidad de Sevilla · 2 R Markdown 3 Vectores 4 Factores 5 Listas y marcos de datos 6 Gr a cos en R Gr a cos univariantes Gr a cos multivariantes Anadir~ otros](https://reader033.vdocuments.site/reader033/viewer/2022050418/5f8da3943b00f555ea6f9414/html5/thumbnails/14.jpg)
Primeras nociones
• R distingue entre mayusculas y minusculas
> a <- 3
> A <- 5
> a
[1] 3
> A
[1] 5
• Identificadores validos: Cualquier combinacion de sımbolosalfanumericos junto con el punto y . No puede empezar conun dıgito.
• No renombrar los objetos (pi,. . . ) y/o funciones (c, t,. . . )de R.
![Page 15: Introducción a R - Universidad de Sevilla · 2 R Markdown 3 Vectores 4 Factores 5 Listas y marcos de datos 6 Gr a cos en R Gr a cos univariantes Gr a cos multivariantes Anadir~ otros](https://reader033.vdocuments.site/reader033/viewer/2022050418/5f8da3943b00f555ea6f9414/html5/thumbnails/15.jpg)
Expresiones/Asignaciones
• Hay dos tipos de comandos: expresiones y asignaciones• Expresion. El resultado se muestra por pantalla y no se guarda.
> rnorm(5)
[1] 0.71690438 0.07539554 0.73687196 -0.43048351 -0.31119274
• Asignacion: no se muestra nada y se guarda
> v <- rnorm(4)
> v
[1] 0.46212728 -0.87838057 0.83872171 0.01630945
![Page 16: Introducción a R - Universidad de Sevilla · 2 R Markdown 3 Vectores 4 Factores 5 Listas y marcos de datos 6 Gr a cos en R Gr a cos univariantes Gr a cos multivariantes Anadir~ otros](https://reader033.vdocuments.site/reader033/viewer/2022050418/5f8da3943b00f555ea6f9414/html5/thumbnails/16.jpg)
1 Introduccion
2 R Markdown
3 Vectores
4 Factores
5 Listas y marcos de datos
6 Graficos en RGraficos univariantesGraficos multivariantesAnadir otros elementos
7 Programacion en R
![Page 17: Introducción a R - Universidad de Sevilla · 2 R Markdown 3 Vectores 4 Factores 5 Listas y marcos de datos 6 Gr a cos en R Gr a cos univariantes Gr a cos multivariantes Anadir~ otros](https://reader033.vdocuments.site/reader033/viewer/2022050418/5f8da3943b00f555ea6f9414/html5/thumbnails/17.jpg)
Markdown
• Creacion de documentos con formato
• Nacio para construir paginas html a partir de documentos detexto plano (sin formato).
![Page 18: Introducción a R - Universidad de Sevilla · 2 R Markdown 3 Vectores 4 Factores 5 Listas y marcos de datos 6 Gr a cos en R Gr a cos univariantes Gr a cos multivariantes Anadir~ otros](https://reader033.vdocuments.site/reader033/viewer/2022050418/5f8da3943b00f555ea6f9414/html5/thumbnails/18.jpg)
Evolucion
Rapidamente extendido/adaptado/modificado para multiplesaplicaciones
Blogs https://en.support.wordpress.com/
markdown-quick-reference/
![Page 19: Introducción a R - Universidad de Sevilla · 2 R Markdown 3 Vectores 4 Factores 5 Listas y marcos de datos 6 Gr a cos en R Gr a cos univariantes Gr a cos multivariantes Anadir~ otros](https://reader033.vdocuments.site/reader033/viewer/2022050418/5f8da3943b00f555ea6f9414/html5/thumbnails/19.jpg)
R Markdown
• Creacion de documentos y presentaciones con codigo R
• Multiples formatos: HTML, MS Word, PDF (hay que tenerTeX instalado)
• http://rmarkdown.rstudio.com/
• install.packages("rmarkdown")
![Page 20: Introducción a R - Universidad de Sevilla · 2 R Markdown 3 Vectores 4 Factores 5 Listas y marcos de datos 6 Gr a cos en R Gr a cos univariantes Gr a cos multivariantes Anadir~ otros](https://reader033.vdocuments.site/reader033/viewer/2022050418/5f8da3943b00f555ea6f9414/html5/thumbnails/20.jpg)
Documentacion
Pequena “chuleta”Guıa de referencia
![Page 21: Introducción a R - Universidad de Sevilla · 2 R Markdown 3 Vectores 4 Factores 5 Listas y marcos de datos 6 Gr a cos en R Gr a cos univariantes Gr a cos multivariantes Anadir~ otros](https://reader033.vdocuments.site/reader033/viewer/2022050418/5f8da3943b00f555ea6f9414/html5/thumbnails/21.jpg)
1 Introduccion
2 R Markdown
3 Vectores
4 Factores
5 Listas y marcos de datos
6 Graficos en RGraficos univariantesGraficos multivariantesAnadir otros elementos
7 Programacion en R
![Page 22: Introducción a R - Universidad de Sevilla · 2 R Markdown 3 Vectores 4 Factores 5 Listas y marcos de datos 6 Gr a cos en R Gr a cos univariantes Gr a cos multivariantes Anadir~ otros](https://reader033.vdocuments.site/reader033/viewer/2022050418/5f8da3943b00f555ea6f9414/html5/thumbnails/22.jpg)
Vectores
• La estructura de datos mas simple.
• Coleccion ordenada de datos (todos del mismo tipo). Coercion
> x <- c(1, 2.5, c(4.2, 9, 7), FALSE) ; x
[1] 1.0 2.5 4.2 9.0 7.0 0.0
> x[1] <- 9 ; x
[1] 9.0 2.5 4.2 9.0 7.0 0.0
• Operaciones vectorizadas (se aplican a cada elemento)
• El mas corto se recicla (hasta la longitud del mas largo).
> y <- c(x,0,x) ; length(y)
[1] 13
> v <- 2*x + y + 1
Mensajes de aviso perdidos
In 2 * x + y :
longitud de objeto mayor no es multiplo de longitud de menor
> v
[1] 28.0 8.5 13.6 28.0 22.0 1.0 19.0 15.0 11.9 23.2 24.0 8.0 19.0
![Page 23: Introducción a R - Universidad de Sevilla · 2 R Markdown 3 Vectores 4 Factores 5 Listas y marcos de datos 6 Gr a cos en R Gr a cos univariantes Gr a cos multivariantes Anadir~ otros](https://reader033.vdocuments.site/reader033/viewer/2022050418/5f8da3943b00f555ea6f9414/html5/thumbnails/23.jpg)
Vectores
• La estructura de datos mas simple.
• Coleccion ordenada de datos (todos del mismo tipo). Coercion
> x <- c(1, 2.5, c(4.2, 9, 7), FALSE) ; x
[1] 1.0 2.5 4.2 9.0 7.0 0.0
> x[1] <- 9 ; x
[1] 9.0 2.5 4.2 9.0 7.0 0.0
• Operaciones vectorizadas (se aplican a cada elemento)
• El mas corto se recicla (hasta la longitud del mas largo).
> y <- c(x,0,x) ; length(y)
[1] 13
> v <- 2*x + y + 1
Mensajes de aviso perdidos
In 2 * x + y :
longitud de objeto mayor no es multiplo de longitud de menor
> v
[1] 28.0 8.5 13.6 28.0 22.0 1.0 19.0 15.0 11.9 23.2 24.0 8.0 19.0
![Page 24: Introducción a R - Universidad de Sevilla · 2 R Markdown 3 Vectores 4 Factores 5 Listas y marcos de datos 6 Gr a cos en R Gr a cos univariantes Gr a cos multivariantes Anadir~ otros](https://reader033.vdocuments.site/reader033/viewer/2022050418/5f8da3943b00f555ea6f9414/html5/thumbnails/24.jpg)
Generacion de secuencias
• El operador : (tiene la maxima precedencia)
> c(10:15,5:-5)
[1] 10 11 12 13 14 15 5 4 3 2 1 0 -1 -2 -3 -4 -5
• La funcion seq
> seq(1, 15,by=3) ; seq(15,1,length.out=5)
[1] 1 4 7 10 13
[1] 15.0 11.5 8.0 4.5 1.0
• La funcion rep
> rep(c(1,2,3), times=3)
[1] 1 2 3 1 2 3 1 2 3
> rep(c(1,2,3), each=3)
[1] 1 1 1 2 2 2 3 3 3
> rep(c(1,2,3), times=c(3,2,1))
[1] 1 1 1 2 2 3
![Page 25: Introducción a R - Universidad de Sevilla · 2 R Markdown 3 Vectores 4 Factores 5 Listas y marcos de datos 6 Gr a cos en R Gr a cos univariantes Gr a cos multivariantes Anadir~ otros](https://reader033.vdocuments.site/reader033/viewer/2022050418/5f8da3943b00f555ea6f9414/html5/thumbnails/25.jpg)
Operaciones elementales
• +, -, *, /, , %%, %/%, sum, prod, cumsum, cumprod
• sin, cos, tan, asin, acos, atan, abs, sqrt, diff
• log, exp, max, min, pmax, pmin, cummax, cummin
• rev, range, length, sort, order
• summary, mean, median, var, sd, quantile, IQR
• round, ceiling, floor, trunc, signif
> x
[1] 1.0 2.5 4.2 9.0 7.0 0.0
> max(x)
[1] 9
> sort(x)
[1] 0.0 1.0 2.5 4.2 7.0 9.0
> order(x) ; x[order(x)]
[1] 6 1 2 3 5 4
[1] 0.0 1.0 2.5 4.2 7.0 9.0
![Page 26: Introducción a R - Universidad de Sevilla · 2 R Markdown 3 Vectores 4 Factores 5 Listas y marcos de datos 6 Gr a cos en R Gr a cos univariantes Gr a cos multivariantes Anadir~ otros](https://reader033.vdocuments.site/reader033/viewer/2022050418/5f8da3943b00f555ea6f9414/html5/thumbnails/26.jpg)
Inf, NA, NaN
> sqrt(-1)
[1] NaN
> sqrt(-1+0i)
[1] 0+1i
> pi
[1] 3.141593
> 7 / 0
[1] Inf
> (- 6) / 0
[1] -Inf
> 0 / 0
[1] NaN
> Inf - Inf ; 2 * Inf + 5
[1] NaN
[1] Inf
> x ; x[c(3,13,5,15)]
[1] 1.0 2.5 4.2 9.0 7.0 0.0
[1] 4.2 NA 7.0 NA
![Page 27: Introducción a R - Universidad de Sevilla · 2 R Markdown 3 Vectores 4 Factores 5 Listas y marcos de datos 6 Gr a cos en R Gr a cos univariantes Gr a cos multivariantes Anadir~ otros](https://reader033.vdocuments.site/reader033/viewer/2022050418/5f8da3943b00f555ea6f9414/html5/thumbnails/27.jpg)
Operaciones de conjuntos
• union, intersect, setdiff, setequal, is.element,
%in%, match
> conj1 <- unique(c(1,2,3,4,3,2,3,1,4)) ; conj1
[1] 1 2 3 4
> conj2 <- c(3,4,5)
> conj3 <- c(2,4,3,1)
> intersect(conj1,conj2)
[1] 3 4
> setequal(conj1,conj3)
[1] TRUE
> is.element(2,conj1)
[1] TRUE
> c(2,6,4,8) %in% conj1
[1] TRUE FALSE TRUE FALSE
> match(c(2,1),conj3)
[1] 1 4
![Page 28: Introducción a R - Universidad de Sevilla · 2 R Markdown 3 Vectores 4 Factores 5 Listas y marcos de datos 6 Gr a cos en R Gr a cos univariantes Gr a cos multivariantes Anadir~ otros](https://reader033.vdocuments.site/reader033/viewer/2022050418/5f8da3943b00f555ea6f9414/html5/thumbnails/28.jpg)
Cadenas de caracteres
• Delimitadas por ", ’
• \\, \", \n, \t
> paste(c("X","Y"), 1:10, sep="")
[1] "X1" "Y2" "X3" "Y4" "X5" "Y6" "X7" "Y8" "X9" "Y10"
> strsplit(c("acgtca","acgtaccgtacgact"), split="")
[[1]]
[1] "a" "c" "g" "t" "c" "a"
[[2]]
[1] "a" "c" "g" "t" "a" "c" "c" "g" "t" "a" "c" "g" "a" "c" "t"
> strsplit(c("acgtca","acatgaccgtatgact"), split="atg")
[[1]]
[1] "acgtca"
[[2]]
[1] "ac" "accgt" "act"
![Page 29: Introducción a R - Universidad de Sevilla · 2 R Markdown 3 Vectores 4 Factores 5 Listas y marcos de datos 6 Gr a cos en R Gr a cos univariantes Gr a cos multivariantes Anadir~ otros](https://reader033.vdocuments.site/reader033/viewer/2022050418/5f8da3943b00f555ea6f9414/html5/thumbnails/29.jpg)
Valores logicos
• Comparacion: ==, !=, <, <=, >, >=
• Operadores: &, &&, |, ||, xor, !
> x <- 11:20
> !(x > 15)
[1] TRUE TRUE TRUE TRUE TRUE FALSE FALSE FALSE FALSE FALSE
> x < 13 | x >= 17
[1] TRUE TRUE FALSE FALSE FALSE FALSE TRUE TRUE TRUE TRUE
> ((-2:2) >= 0) & ((-2:2) <= 0)
[1] FALSE FALSE TRUE FALSE FALSE
> ((-2:2) >= 0) && ((-2:2) <= 0)
[1] FALSE
> ((1:10) < 5) | ((1:10) > 8)
[1] TRUE TRUE TRUE TRUE FALSE FALSE FALSE FALSE TRUE TRUE
> ((1:10) < 5) || ((1:10) > 8)
[1] TRUE
![Page 30: Introducción a R - Universidad de Sevilla · 2 R Markdown 3 Vectores 4 Factores 5 Listas y marcos de datos 6 Gr a cos en R Gr a cos univariantes Gr a cos multivariantes Anadir~ otros](https://reader033.vdocuments.site/reader033/viewer/2022050418/5f8da3943b00f555ea6f9414/html5/thumbnails/30.jpg)
Seleccion/Modificacion de datos
• Vector de posiciones
> x
[1] 11 12 13 14 15 16 17 18 19 20
> x[c(1,2,3,2,21)]
[1] 11 12 13 12 NA
> x[11] <- 21 ; x
[1] 11 12 13 14 15 16 17 18 19 20 21
> x[c(1,2,3)] <- 3:1 ; x
[1] 3 2 1 14 15 16 17 18 19 20 21
> x[1:3] <- c(5,6)
Mensajes de aviso perdidos
In x[1:3] <- c(5, 6) :
numero de items para para sustituir no es un multiplo de ...
> x
[1] 5 6 5 14 15 16 17 18 19 20 21
> x <- c(11,12,13,x[4:10]) ; x
[1] 11 12 13 14 15 16 17 18 19 20
![Page 31: Introducción a R - Universidad de Sevilla · 2 R Markdown 3 Vectores 4 Factores 5 Listas y marcos de datos 6 Gr a cos en R Gr a cos univariantes Gr a cos multivariantes Anadir~ otros](https://reader033.vdocuments.site/reader033/viewer/2022050418/5f8da3943b00f555ea6f9414/html5/thumbnails/31.jpg)
Seleccion de datos
• Vector de exclusiones
> x[-c(1,7,5)]
[1] 12 13 14 16 18 19 20
• Vector de valores logicos
> y <- 1:10; x[y > 5]
[1] 16 17 18 19 20
> x[c(TRUE,FALSE,FALSE)]
[1] 11 14 17 20
• Vector de nombres
> names(x) <- letters[1:10] ; x
a b c d e f g h i j
11 12 13 14 15 16 17 18 19 20
> x[c(’b’,’f’,’c’)]
b f c
12 16 13
![Page 32: Introducción a R - Universidad de Sevilla · 2 R Markdown 3 Vectores 4 Factores 5 Listas y marcos de datos 6 Gr a cos en R Gr a cos univariantes Gr a cos multivariantes Anadir~ otros](https://reader033.vdocuments.site/reader033/viewer/2022050418/5f8da3943b00f555ea6f9414/html5/thumbnails/32.jpg)
Algunos ejemplos
> x <- c(2, 3, 5, 7, 11, 13)
> which.max(x)
[1] 6
> which(x > 5)
[1] 4 5 6
> length(x > 5)
[1] 6
> length(which(x > 5))
[1] 3
> sum(x > 5)
[1] 3
> sum(x[x > 5])
[1] 31
> x < 3 | x > 5
[1] TRUE FALSE FALSE TRUE TRUE TRUE
> which(x < 3 | x > 5)
[1] 1 4 5 6
> length(which(x < 3 | x > 5))
[1] 4
> sum(x < 3 | x > 5)
[1] 4
![Page 33: Introducción a R - Universidad de Sevilla · 2 R Markdown 3 Vectores 4 Factores 5 Listas y marcos de datos 6 Gr a cos en R Gr a cos univariantes Gr a cos multivariantes Anadir~ otros](https://reader033.vdocuments.site/reader033/viewer/2022050418/5f8da3943b00f555ea6f9414/html5/thumbnails/33.jpg)
Otros tipos de conjuntos de datos
• Arrays y matrices (matrix): representacion multidimensionalde los vectores. Todos los elementos de la matriz han de serdel mismo tipo.
• Factores (factor): utiles para el uso de datos categoricos.
• Listas (list): generalizacion de los vectores donde loselementos pueden ser de diferentes tipos (incluso vectores onuevas listas).
• Data frames: listas donde los diferentes elementos tienen lamisma longitud.
• Funciones (function): conjunto de codigo de R ejecutable yparametrizable.
![Page 34: Introducción a R - Universidad de Sevilla · 2 R Markdown 3 Vectores 4 Factores 5 Listas y marcos de datos 6 Gr a cos en R Gr a cos univariantes Gr a cos multivariantes Anadir~ otros](https://reader033.vdocuments.site/reader033/viewer/2022050418/5f8da3943b00f555ea6f9414/html5/thumbnails/34.jpg)
Otros tipos de conjuntos de datos
• Arrays y matrices (matrix): representacion multidimensionalde los vectores. Todos los elementos de la matriz han de serdel mismo tipo.
• Factores (factor): utiles para el uso de datos categoricos.
• Listas (list): generalizacion de los vectores donde loselementos pueden ser de diferentes tipos (incluso vectores onuevas listas).
• Data frames: listas donde los diferentes elementos tienen lamisma longitud.
• Funciones (function): conjunto de codigo de R ejecutable yparametrizable.
![Page 35: Introducción a R - Universidad de Sevilla · 2 R Markdown 3 Vectores 4 Factores 5 Listas y marcos de datos 6 Gr a cos en R Gr a cos univariantes Gr a cos multivariantes Anadir~ otros](https://reader033.vdocuments.site/reader033/viewer/2022050418/5f8da3943b00f555ea6f9414/html5/thumbnails/35.jpg)
Otros tipos de conjuntos de datos
• Arrays y matrices (matrix): representacion multidimensionalde los vectores. Todos los elementos de la matriz han de serdel mismo tipo.
• Factores (factor): utiles para el uso de datos categoricos.
• Listas (list): generalizacion de los vectores donde loselementos pueden ser de diferentes tipos (incluso vectores onuevas listas).
• Data frames: listas donde los diferentes elementos tienen lamisma longitud.
• Funciones (function): conjunto de codigo de R ejecutable yparametrizable.
![Page 36: Introducción a R - Universidad de Sevilla · 2 R Markdown 3 Vectores 4 Factores 5 Listas y marcos de datos 6 Gr a cos en R Gr a cos univariantes Gr a cos multivariantes Anadir~ otros](https://reader033.vdocuments.site/reader033/viewer/2022050418/5f8da3943b00f555ea6f9414/html5/thumbnails/36.jpg)
Otros tipos de conjuntos de datos
• Arrays y matrices (matrix): representacion multidimensionalde los vectores. Todos los elementos de la matriz han de serdel mismo tipo.
• Factores (factor): utiles para el uso de datos categoricos.
• Listas (list): generalizacion de los vectores donde loselementos pueden ser de diferentes tipos (incluso vectores onuevas listas).
• Data frames: listas donde los diferentes elementos tienen lamisma longitud.
• Funciones (function): conjunto de codigo de R ejecutable yparametrizable.
![Page 37: Introducción a R - Universidad de Sevilla · 2 R Markdown 3 Vectores 4 Factores 5 Listas y marcos de datos 6 Gr a cos en R Gr a cos univariantes Gr a cos multivariantes Anadir~ otros](https://reader033.vdocuments.site/reader033/viewer/2022050418/5f8da3943b00f555ea6f9414/html5/thumbnails/37.jpg)
Otros tipos de conjuntos de datos
• Arrays y matrices (matrix): representacion multidimensionalde los vectores. Todos los elementos de la matriz han de serdel mismo tipo.
• Factores (factor): utiles para el uso de datos categoricos.
• Listas (list): generalizacion de los vectores donde loselementos pueden ser de diferentes tipos (incluso vectores onuevas listas).
• Data frames: listas donde los diferentes elementos tienen lamisma longitud.
• Funciones (function): conjunto de codigo de R ejecutable yparametrizable.
![Page 38: Introducción a R - Universidad de Sevilla · 2 R Markdown 3 Vectores 4 Factores 5 Listas y marcos de datos 6 Gr a cos en R Gr a cos univariantes Gr a cos multivariantes Anadir~ otros](https://reader033.vdocuments.site/reader033/viewer/2022050418/5f8da3943b00f555ea6f9414/html5/thumbnails/38.jpg)
Array
• Todos los datos del mismo tipo
• Atributo dim
> x <- 1:42 ; dim(x) <- c(3,7,2) ; x
, , 1
[,1] [,2] [,3] [,4] [,5] [,6] [,7]
[1,] 1 4 7 10 13 16 19
[2,] 2 5 8 11 14 17 20
[3,] 3 6 9 12 15 18 21
, , 2
[,1] [,2] [,3] [,4] [,5] [,6] [,7]
[1,] 22 25 28 31 34 37 40
[2,] 23 26 29 32 35 38 41
[3,] 24 27 30 33 36 39 42
> x[15]
15
![Page 39: Introducción a R - Universidad de Sevilla · 2 R Markdown 3 Vectores 4 Factores 5 Listas y marcos de datos 6 Gr a cos en R Gr a cos univariantes Gr a cos multivariantes Anadir~ otros](https://reader033.vdocuments.site/reader033/viewer/2022050418/5f8da3943b00f555ea6f9414/html5/thumbnails/39.jpg)
Array y seleccion de datos
> x[c(FALSE,TRUE,FALSE),-c(1,7),2]
[1] 26 29 32 35 38
> x[-2,,1]
[,1] [,2] [,3] [,4] [,5] [,6] [,7]
[1,] 1 4 7 10 13 16 19
[2,] 3 6 9 12 15 18 21
> x <- array(1:5,dim=c(3,7,2))
> x[1:2,2:5,2] <- 99 ; x
, , 1
[,1] [,2] [,3] [,4] [,5] [,6] [,7]
[1,] 1 4 2 5 3 1 4
[2,] 2 5 3 1 4 2 5
[3,] 3 1 4 2 5 3 1
, , 2
[,1] [,2] [,3] [,4] [,5] [,6] [,7]
[1,] 2 99 99 99 99 2 5
[2,] 3 99 99 99 99 3 1
[3,] 4 2 5 3 1 4 2
![Page 40: Introducción a R - Universidad de Sevilla · 2 R Markdown 3 Vectores 4 Factores 5 Listas y marcos de datos 6 Gr a cos en R Gr a cos univariantes Gr a cos multivariantes Anadir~ otros](https://reader033.vdocuments.site/reader033/viewer/2022050418/5f8da3943b00f555ea6f9414/html5/thumbnails/40.jpg)
Matrices (un caso particular)
> a <- matrix(1:20,5,4) ; a
[,1] [,2] [,3] [,4]
[1,] 1 6 11 16
[2,] 2 7 12 17
[3,] 3 8 13 18
[4,] 4 9 14 19
[5,] 5 10 15 20
> ncol(a)
[1] 4
> b <- matrix(21:32, nrow=3, byrow=T)
> rownames(b) <- letters[1:3]; colnames(b) <- LETTERS[1:4]; b
A B C D
a 21 22 23 24
b 25 26 27 28
c 29 30 31 32
> b["a","A"]
[1] 21
> b["a",]
A B C D
21 22 23 24
![Page 41: Introducción a R - Universidad de Sevilla · 2 R Markdown 3 Vectores 4 Factores 5 Listas y marcos de datos 6 Gr a cos en R Gr a cos univariantes Gr a cos multivariantes Anadir~ otros](https://reader033.vdocuments.site/reader033/viewer/2022050418/5f8da3943b00f555ea6f9414/html5/thumbnails/41.jpg)
rbind y cbind
> a %*% t(b)
a b c
[1,] 790 926 1062
[2,] 880 1032 1184
[3,] 970 1138 1306
[4,] 1060 1244 1428
[5,] 1150 1350 1550
> cbind(rbind(a,b),1:8)
A B C D
1 6 11 16 1
2 7 12 17 2
3 8 13 18 3
4 9 14 19 4
5 10 15 20 5
a 21 22 23 24 6
b 25 26 27 28 7
c 29 30 31 32 8
![Page 42: Introducción a R - Universidad de Sevilla · 2 R Markdown 3 Vectores 4 Factores 5 Listas y marcos de datos 6 Gr a cos en R Gr a cos univariantes Gr a cos multivariantes Anadir~ otros](https://reader033.vdocuments.site/reader033/viewer/2022050418/5f8da3943b00f555ea6f9414/html5/thumbnails/42.jpg)
Algunas funciones
• t, det, diag
• solve(A, B) resuelve A ∗ X = B, solve(A) devuelve A−1
> apply(b, 1, sum)
a b c
90 106 122
> apply(b, 2, mean)
A B C D
25 26 27 28
> rowSums(b)
a b c
90 106 122
> colMeans(b)
A B C D
25 26 27 28
> solve(matrix(c(3,1,2,-1),nrow=2),c(5,0))
[1] 1 1
![Page 43: Introducción a R - Universidad de Sevilla · 2 R Markdown 3 Vectores 4 Factores 5 Listas y marcos de datos 6 Gr a cos en R Gr a cos univariantes Gr a cos multivariantes Anadir~ otros](https://reader033.vdocuments.site/reader033/viewer/2022050418/5f8da3943b00f555ea6f9414/html5/thumbnails/43.jpg)
1 Introduccion
2 R Markdown
3 Vectores
4 Factores
5 Listas y marcos de datos
6 Graficos en RGraficos univariantesGraficos multivariantesAnadir otros elementos
7 Programacion en R
![Page 44: Introducción a R - Universidad de Sevilla · 2 R Markdown 3 Vectores 4 Factores 5 Listas y marcos de datos 6 Gr a cos en R Gr a cos univariantes Gr a cos multivariantes Anadir~ otros](https://reader033.vdocuments.site/reader033/viewer/2022050418/5f8da3943b00f555ea6f9414/html5/thumbnails/44.jpg)
Factores
R maneja las variables cualitativas usando factores.
> fr <- factor(c("Sı", "No", "No", "Sı")); fr
[1] Sı No No Sı
Levels: No Sı
> table(fr)
No Sı
2 2
> fr <- factor(c("Sı", "No", "No", "Sı"), levels = c("No", "Sı", "O"),
labels = c("No fumador", "Fumador", "NS/NC")); fr
[1] Fumador No fumador No fumador Fumador
Levels: No fumador Fumador NS/NC
> table(fr)
No fumador Fumador NS/NC
2 2 0
> nlevels(fr)
[1] 3
> levels(fr)
[1] "No fumador" "Fumador" "NS/NC"
![Page 45: Introducción a R - Universidad de Sevilla · 2 R Markdown 3 Vectores 4 Factores 5 Listas y marcos de datos 6 Gr a cos en R Gr a cos univariantes Gr a cos multivariantes Anadir~ otros](https://reader033.vdocuments.site/reader033/viewer/2022050418/5f8da3943b00f555ea6f9414/html5/thumbnails/45.jpg)
Factores ordenados
> fc <- factor(c("Muchos", "Pocos", "Pocos", "Bastantes"),
levels = c("Pocos", "Bastantes", "Muchos"),
ordered = TRUE) ; fc
[1] Muchos Pocos Pocos Bastantes
Levels: Pocos < Bastantes < Muchos
> sum(fc < "Muchos")
[1] 3
> ordered(c("Muchos", "Pocos", "Pocos", "Bastantes"),
levels = c("Pocos", "Bastantes", "Muchos"))
[1] Muchos Pocos Pocos Bastantes
Levels: Pocos < Bastantes < Muchos
> table(fr,fc)
fc
fr Pocos Bastantes Muchos
No fumador 2 0 0
Fumador 0 1 1
NS/NC 0 0 0
![Page 46: Introducción a R - Universidad de Sevilla · 2 R Markdown 3 Vectores 4 Factores 5 Listas y marcos de datos 6 Gr a cos en R Gr a cos univariantes Gr a cos multivariantes Anadir~ otros](https://reader033.vdocuments.site/reader033/viewer/2022050418/5f8da3943b00f555ea6f9414/html5/thumbnails/46.jpg)
Factores
• La funcion tapply permite aplicar una operacion a un vectoragrupando previamente los datos en cada uno de los nivelesproporcionados por un factor.
• Reordenar los niveles de un factor: reorder (el factor cuyosniveles hay que reordenar; un vector de la misma longitud acuyos subconjuntos de valores correspondientes a cada niveldel factor se aplicara la funcion que determina el orden; esafuncion).
• Una variable cuantitativa se puede transformar en una variablecualitativa.
![Page 47: Introducción a R - Universidad de Sevilla · 2 R Markdown 3 Vectores 4 Factores 5 Listas y marcos de datos 6 Gr a cos en R Gr a cos univariantes Gr a cos multivariantes Anadir~ otros](https://reader033.vdocuments.site/reader033/viewer/2022050418/5f8da3943b00f555ea6f9414/html5/thumbnails/47.jpg)
tapply, reorder
> head(Cebada)
Cosecha Variedad A~no Lugar
1 27.00000 Manchuria 1931 University Farm
2 48.86667 Manchuria 1931 Waseca
3 27.43334 Manchuria 1931 Morris
4 39.93333 Manchuria 1931 Crookston
5 32.96667 Manchuria 1931 Grand Rapids
6 28.96667 Manchuria 1931 Duluth
> head(Cebada$Variedad)
[1] Manchuria Manchuria Manchuria Manchuria Manchuria Manchuria
10 Levels: Glabron Manchuria No.457 No.462 No.475 ... Wisconsin No.38
> tapply(Cebada$Cosecha, Cebada$Variedad, median)
Glabron Manchuria No.457 No.462 ...
32.40000 30.96667 33.96666 30.45000 ...
> Variedad_re <- reorder(Cebada$Variedad, Cebada$Cosecha, median)
> head(Variedad_re)
Manchuria Manchuria Manchuria Manchuria Manchuria Manchuria
10 Levels: Svansota No.462 Manchuria No.475 Velvet ... Trebi
> tapply(Cebada$Cosecha, Variedad_re, median)
Svansota No.462 Manchuria No.475
28.55000 30.45000 30.96667 31.06667
![Page 48: Introducción a R - Universidad de Sevilla · 2 R Markdown 3 Vectores 4 Factores 5 Listas y marcos de datos 6 Gr a cos en R Gr a cos univariantes Gr a cos multivariantes Anadir~ otros](https://reader033.vdocuments.site/reader033/viewer/2022050418/5f8da3943b00f555ea6f9414/html5/thumbnails/48.jpg)
Factores para variables cuantitativas
> num <- c(10, 0, 4, 8, 5, 22)
> interv <- cut(num, breaks = 4); interv
[1] (5.49,11] (-0.022,5.49] (-0.022,5.49]
[4] (5.49,11] (-0.022,5.49] (16.5,22]
Levels: (-0.022,5.49] (5.49,11] (11,16.5] (16.5,22]
> interv <- cut(num, breaks = c(0, 5, 10, 30), right=F); interv
[1] [10,30) [0,5) [0,5) [5,10) [5,10) [10,30)
Levels: [0,5) [5,10) [10,30)
> interv <- cut(num, breaks = c(0, 5, 10, 30), order=T,
labels = c("Poco","Bastante","Mucho"),
include.lowest = TRUE) ; interv
[1] Bastante Poco Poco Bastante Poco Mucho
Levels: Poco < Bastante < Mucho
> table(interv)
Poco Bastante Mucho
3 2 1
> which("Poco" < interv )
[1] 1 4 6
![Page 49: Introducción a R - Universidad de Sevilla · 2 R Markdown 3 Vectores 4 Factores 5 Listas y marcos de datos 6 Gr a cos en R Gr a cos univariantes Gr a cos multivariantes Anadir~ otros](https://reader033.vdocuments.site/reader033/viewer/2022050418/5f8da3943b00f555ea6f9414/html5/thumbnails/49.jpg)
1 Introduccion
2 R Markdown
3 Vectores
4 Factores
5 Listas y marcos de datos
6 Graficos en RGraficos univariantesGraficos multivariantesAnadir otros elementos
7 Programacion en R
![Page 50: Introducción a R - Universidad de Sevilla · 2 R Markdown 3 Vectores 4 Factores 5 Listas y marcos de datos 6 Gr a cos en R Gr a cos univariantes Gr a cos multivariantes Anadir~ otros](https://reader033.vdocuments.site/reader033/viewer/2022050418/5f8da3943b00f555ea6f9414/html5/thumbnails/50.jpg)
Listas
> lst <- list(nombre="Carlos", num.hijos=3, edad.hijos=c(4,7,9))
> lst$apellido <- "Garcıa"; lst
$nombre
[1] "Carlos"
$num.hijos
[1] 3
$edad.hijos
[1] 4 7 9
$apellido
[1] "Garcıa"
> length(lst)
[1] 4
> lst[1]
$nombre
[1] "Carlos"
> lst[[3]][2]
[1] 7
> lst$num.hijos
[1] 3
> lst["nombre"]
$nombre
[1] "Carlos"
![Page 51: Introducción a R - Universidad de Sevilla · 2 R Markdown 3 Vectores 4 Factores 5 Listas y marcos de datos 6 Gr a cos en R Gr a cos univariantes Gr a cos multivariantes Anadir~ otros](https://reader033.vdocuments.site/reader033/viewer/2022050418/5f8da3943b00f555ea6f9414/html5/thumbnails/51.jpg)
Marcos de datos
> df <- data.frame(Nombre=c("Pedro","Marıa","Jose","Marta"),
Edad=c(27,34,40,39),
Poblacion=c("Malaga","Madrid","Leon","Barcelona"),
Sexo=c("H","M","H","M"),
Casado=c(F,T,T,F)); df
Nombre Edad Poblacion Sexo Casado
1 Pedro 27 Malaga H FALSE
2 Marıa 34 Madrid M TRUE
3 Jose 40 Leon H TRUE
4 Marta 39 Barcelona M FALSE
> attach(df)
> Nombre
[1] Pedro Marıa Jose Marta
Levels: Jose Marıa Marta Pedro
> Edad
[1] 27 34 40 39
> detach(df)
> Edad
Error: objeto ’Edad’ no encontrado
![Page 52: Introducción a R - Universidad de Sevilla · 2 R Markdown 3 Vectores 4 Factores 5 Listas y marcos de datos 6 Gr a cos en R Gr a cos univariantes Gr a cos multivariantes Anadir~ otros](https://reader033.vdocuments.site/reader033/viewer/2022050418/5f8da3943b00f555ea6f9414/html5/thumbnails/52.jpg)
Marcos de datos
> names(df)
[1] "Nombre" "Edad" "Poblacion" "Sexo" "Casado"
> rownames(df)
[1] "1" "2" "3" "4"
> ncol(df)
[1] 5
> df$Nombre
[1] Pedro Marıa Jose Marta
Levels: Jose Marıa Marta Pedro
> df[1:3]
Nombre Edad Poblacion
1 Pedro 27 Malaga
2 Marıa 34 Madrid
3 Jose 40 Leon
4 Marta 39 Barcelona
> df[1,3]
[1] Malaga
Levels: Barcelona Leon Madrid Malaga
![Page 53: Introducción a R - Universidad de Sevilla · 2 R Markdown 3 Vectores 4 Factores 5 Listas y marcos de datos 6 Gr a cos en R Gr a cos univariantes Gr a cos multivariantes Anadir~ otros](https://reader033.vdocuments.site/reader033/viewer/2022050418/5f8da3943b00f555ea6f9414/html5/thumbnails/53.jpg)
Operaciones simultaneas
• Las funciones lapply y sapply aplica una operacion a cadaelemento de una lista.
• La funcion aggregate permite aplicar una operacion a cadacolumna de un marco de datos agrupando previamente losdatos en cada uno de los niveles proporcionados por una listade factores.
![Page 54: Introducción a R - Universidad de Sevilla · 2 R Markdown 3 Vectores 4 Factores 5 Listas y marcos de datos 6 Gr a cos en R Gr a cos univariantes Gr a cos multivariantes Anadir~ otros](https://reader033.vdocuments.site/reader033/viewer/2022050418/5f8da3943b00f555ea6f9414/html5/thumbnails/54.jpg)
Operaciones simultaneas
> df <- data.frame(altura=c(150,135,210,140), peso=c(65,61,100,65),
sexo=c("H", "M", "H", "M"))
> apply(df[-3], 2, sd)
altura peso
34.73111 18.26426
> lapply(df[-3], sum)
$altura
[1] 635
$peso
[1] 291
> sapply(df[-3], sum)
altura peso
635 291
> aggregate(df[-3], list(df$sexo), mean)
Group.1 altura peso
1 H 180.0 82.5
2 M 137.5 63.0
![Page 55: Introducción a R - Universidad de Sevilla · 2 R Markdown 3 Vectores 4 Factores 5 Listas y marcos de datos 6 Gr a cos en R Gr a cos univariantes Gr a cos multivariantes Anadir~ otros](https://reader033.vdocuments.site/reader033/viewer/2022050418/5f8da3943b00f555ea6f9414/html5/thumbnails/55.jpg)
Marcos de datos: read.table
• Todas las filas tienen el mismo numero de elementos menos laprimera que tiene un elemento menos.
• La primera fila contiene los nombres de las columnas.
• El primer elemento del resto de filas es el nombre de cada fila
• Los datos estan separados por espacios en blanco.
• El separador de los decimales es un punto.
• Los valores desconocidos se expresan con NA.
• write.table
• read.csv,. . . (ver la ayuda)
![Page 56: Introducción a R - Universidad de Sevilla · 2 R Markdown 3 Vectores 4 Factores 5 Listas y marcos de datos 6 Gr a cos en R Gr a cos univariantes Gr a cos multivariantes Anadir~ otros](https://reader033.vdocuments.site/reader033/viewer/2022050418/5f8da3943b00f555ea6f9414/html5/thumbnails/56.jpg)
1 Introduccion
2 R Markdown
3 Vectores
4 Factores
5 Listas y marcos de datos
6 Graficos en RGraficos univariantesGraficos multivariantesAnadir otros elementos
7 Programacion en R
![Page 57: Introducción a R - Universidad de Sevilla · 2 R Markdown 3 Vectores 4 Factores 5 Listas y marcos de datos 6 Gr a cos en R Gr a cos univariantes Gr a cos multivariantes Anadir~ otros](https://reader033.vdocuments.site/reader033/viewer/2022050418/5f8da3943b00f555ea6f9414/html5/thumbnails/57.jpg)
Objetivos
Comunicar de ideas complejas con claridad, precision y eficiencia.
• Mostrar los datos.
• Inducir a pensar sobre el contenido en lugar de lametodologıa, el diseno grafico o la tecnologıa que lo produjo
• Evitar la distorsion en la comunicacion de los datos.
• Presentar muchos numeros en un pequeno espacio.
• Hacer que grandes conjuntos de datos tengan coherencia.
• Inducir a la comparacion entre diferentes partes de los datos.
• Revelar detalles, desde un perspectiva global o particular.
• Tener un proposito razonablemente claro: la descripcion, laexploracion, la tabulacion o la decoracion.
• Estar integrado con las descripciones estadısticas y verbales,
![Page 58: Introducción a R - Universidad de Sevilla · 2 R Markdown 3 Vectores 4 Factores 5 Listas y marcos de datos 6 Gr a cos en R Gr a cos univariantes Gr a cos multivariantes Anadir~ otros](https://reader033.vdocuments.site/reader033/viewer/2022050418/5f8da3943b00f555ea6f9414/html5/thumbnails/58.jpg)
Recomendaciones
• Hacer que los datos sobresalgan. Evitar lo superfluo.
• Utilizar elementos prominentes para mostrar los datos.
• Hacer la region de datos menor que la region delimitada porlas escalas. Las marcas hacia afuera.
• No congestionar la region de datos.
• No exagerar el numero de marcas (de 3 a 10 marcas).
• Utilizar una lınea cuando haya un valor que deba verse atraves del grafico, pero que no interfiera con los datos.
• Las etiquetas no deben interferir o congestionar el grafico.
• Evitar colocar claves en el interior. Colocar las notas en eltexto o la explicacion.
• Los sımbolos o conjuntos de datos que se superpongan debenpoder ser reconocidos facilmente.
![Page 59: Introducción a R - Universidad de Sevilla · 2 R Markdown 3 Vectores 4 Factores 5 Listas y marcos de datos 6 Gr a cos en R Gr a cos univariantes Gr a cos multivariantes Anadir~ otros](https://reader033.vdocuments.site/reader033/viewer/2022050418/5f8da3943b00f555ea6f9414/html5/thumbnails/59.jpg)
Dispositivos graficos
R puede generar graficos en casi cualquier tipo de dispositivografico o de impresion.
• la ventana de RStudio (por defecto);
• postscript, pdf y bmp, para generar ficheros PostScript, PDFy Mapa de Puntos (BMP)
• png y jpeg, para generar imagenes PNG y JPEG.
hist(rnorm(1000))
png(file="histograma.png")
hist(rnorm(1000))
dev.off()
X11()
hist(rnorm(1000))
savePlot(file="histograma.png", type="png")
dev.off()
![Page 60: Introducción a R - Universidad de Sevilla · 2 R Markdown 3 Vectores 4 Factores 5 Listas y marcos de datos 6 Gr a cos en R Gr a cos univariantes Gr a cos multivariantes Anadir~ otros](https://reader033.vdocuments.site/reader033/viewer/2022050418/5f8da3943b00f555ea6f9414/html5/thumbnails/60.jpg)
Biblioteca lattice
> g1 <- densityplot(~ gcsescore | factor(score), data = Chem97,
plot.points = FALSE, ref = TRUE)
> g2 <- densityplot(~ gcsescore, data = Chem97, groups = score,
plot.points = FALSE, ref = TRUE,
auto.key = list(columns = 3))
> print(g1, split=c(1,1,2,1),more=T)
> print(g2, split=c(2,1,2,1))
![Page 61: Introducción a R - Universidad de Sevilla · 2 R Markdown 3 Vectores 4 Factores 5 Listas y marcos de datos 6 Gr a cos en R Gr a cos univariantes Gr a cos multivariantes Anadir~ otros](https://reader033.vdocuments.site/reader033/viewer/2022050418/5f8da3943b00f555ea6f9414/html5/thumbnails/61.jpg)
Parametros comunes
En la mayorıa de las funciones graficas
• data: Marco de datos con las variables a partir de las cualesse construye el grafico
• horizontal: Determina el sentido del grafico
• main: Tıtulo principal
• sub: Subtıtulo
• xlab, ylab: Etiquetas de los ejes X e Y
• xlim, ylim: Lımites de los ejes X e Y
![Page 62: Introducción a R - Universidad de Sevilla · 2 R Markdown 3 Vectores 4 Factores 5 Listas y marcos de datos 6 Gr a cos en R Gr a cos univariantes Gr a cos multivariantes Anadir~ otros](https://reader033.vdocuments.site/reader033/viewer/2022050418/5f8da3943b00f555ea6f9414/html5/thumbnails/62.jpg)
1 Introduccion
2 R Markdown
3 Vectores
4 Factores
5 Listas y marcos de datos
6 Graficos en RGraficos univariantesGraficos multivariantesAnadir otros elementos
7 Programacion en R
![Page 63: Introducción a R - Universidad de Sevilla · 2 R Markdown 3 Vectores 4 Factores 5 Listas y marcos de datos 6 Gr a cos en R Gr a cos univariantes Gr a cos multivariantes Anadir~ otros](https://reader033.vdocuments.site/reader033/viewer/2022050418/5f8da3943b00f555ea6f9414/html5/thumbnails/63.jpg)
Diagrama de dispersion
Muestra los valores dibujando un punto por cada dato.
> head(faithful$eruptions)
[1] 3.600 1.800 3.333 2.283 4.533 2.883
> stripplot(~eruptions, data = faithful,
main = "Erupciones del geiser Old Faithful",
xlab = "Duracion (en minutos)")
![Page 64: Introducción a R - Universidad de Sevilla · 2 R Markdown 3 Vectores 4 Factores 5 Listas y marcos de datos 6 Gr a cos en R Gr a cos univariantes Gr a cos multivariantes Anadir~ otros](https://reader033.vdocuments.site/reader033/viewer/2022050418/5f8da3943b00f555ea6f9414/html5/thumbnails/64.jpg)
Diagrama de caja y bigote
Un rectangulo entre el primer y el tercer cuartil, en su interior lamediana. A ambos lados dos lıneas con los valores que seencuentran a lo sumo a una distancia de 1.5 veces el rangointercuartılico. Cualquier otro valor se marca individualmente.
> bwplot(~Sepal.Width, data = iris, main = "Ancho de los Sepalos",
xlab = "")
![Page 65: Introducción a R - Universidad de Sevilla · 2 R Markdown 3 Vectores 4 Factores 5 Listas y marcos de datos 6 Gr a cos en R Gr a cos univariantes Gr a cos multivariantes Anadir~ otros](https://reader033.vdocuments.site/reader033/viewer/2022050418/5f8da3943b00f555ea6f9414/html5/thumbnails/65.jpg)
Varios diagramas de caja y bigote
Para comparar las distribuciones para distintas agrupaciones en losdatos podemos realizar un diagrama por cada uno.
> bwplot(Sepal.Width~Species, data = iris,
main = "Ancho de los Sepalos", xlab = "")
![Page 66: Introducción a R - Universidad de Sevilla · 2 R Markdown 3 Vectores 4 Factores 5 Listas y marcos de datos 6 Gr a cos en R Gr a cos univariantes Gr a cos multivariantes Anadir~ otros](https://reader033.vdocuments.site/reader033/viewer/2022050418/5f8da3943b00f555ea6f9414/html5/thumbnails/66.jpg)
Histograma
Se divide el rango de datos en clases, se calcula la frecuencia dedatos para cada clase y se dibuja una barra por clase (ancho laamplitud de la clase y superficie proporcional a la frecuencia)
> histogram(~eruptions, data = faithful, type = "count",
main = "Erupciones del geiser Old Faithful",
xlab = "Duracion (en minutos)",
ylab = "No de erupciones")
![Page 67: Introducción a R - Universidad de Sevilla · 2 R Markdown 3 Vectores 4 Factores 5 Listas y marcos de datos 6 Gr a cos en R Gr a cos univariantes Gr a cos multivariantes Anadir~ otros](https://reader033.vdocuments.site/reader033/viewer/2022050418/5f8da3943b00f555ea6f9414/html5/thumbnails/67.jpg)
Histograma (Cont.)
Fijar el numero de clases (por defecto usa la regla de Sturges,log2(n) + 1), sus extremos y/o utilizar las frecuencias relativas.
> print(histogram(faithful$eruptions, type = "percent", nint = 20),
split = c(1,1,2,1), more=T)
> print(histogram(faithful$eruptions, type = "density",
breaks = c(0, 2, 3, 3.5, 4, 4.5, 5, 5.5)),
split = c(2,1,2,1))
![Page 68: Introducción a R - Universidad de Sevilla · 2 R Markdown 3 Vectores 4 Factores 5 Listas y marcos de datos 6 Gr a cos en R Gr a cos univariantes Gr a cos multivariantes Anadir~ otros](https://reader033.vdocuments.site/reader033/viewer/2022050418/5f8da3943b00f555ea6f9414/html5/thumbnails/68.jpg)
Grafico de densidad
> densityplot(faithful$eruptions, plot.points = "jitter",
main = "Erupciones del geiser Old Faithful",
xlab = "Duracion (en minutos)", ylab = "Probabilidad")
Opciones de plot.points: valor logico, ”rug” o ”jitter”
![Page 69: Introducción a R - Universidad de Sevilla · 2 R Markdown 3 Vectores 4 Factores 5 Listas y marcos de datos 6 Gr a cos en R Gr a cos univariantes Gr a cos multivariantes Anadir~ otros](https://reader033.vdocuments.site/reader033/viewer/2022050418/5f8da3943b00f555ea6f9414/html5/thumbnails/69.jpg)
Superposicion
> densityplot(~height, data = singer, groups = voice.part,
bw = 1.5, auto.key = list(columns = 4))
![Page 70: Introducción a R - Universidad de Sevilla · 2 R Markdown 3 Vectores 4 Factores 5 Listas y marcos de datos 6 Gr a cos en R Gr a cos univariantes Gr a cos multivariantes Anadir~ otros](https://reader033.vdocuments.site/reader033/viewer/2022050418/5f8da3943b00f555ea6f9414/html5/thumbnails/70.jpg)
Diagrama de barras
Una barra por cada dato, la longitud de cada barra es proporcionalal valor del dato. Para conjuntos de datos pequenos.
> barchart(sort(tapply(drosophila$fecundidad, drosophila$linea, mean)),
xlab="", main="Fecundidad media de cada lınea genica")
![Page 71: Introducción a R - Universidad de Sevilla · 2 R Markdown 3 Vectores 4 Factores 5 Listas y marcos de datos 6 Gr a cos en R Gr a cos univariantes Gr a cos multivariantes Anadir~ otros](https://reader033.vdocuments.site/reader033/viewer/2022050418/5f8da3943b00f555ea6f9414/html5/thumbnails/71.jpg)
Diag. de barras (variables cualitativas)
Frecuencias absolutas de los distintas categorıas de esa variable.
> barchart(table(iris$Species), horizontal=FALSE,
main = "Numero de plantas estudiadas segun la especie",
xlab = "Especie de lirio")
![Page 72: Introducción a R - Universidad de Sevilla · 2 R Markdown 3 Vectores 4 Factores 5 Listas y marcos de datos 6 Gr a cos en R Gr a cos univariantes Gr a cos multivariantes Anadir~ otros](https://reader033.vdocuments.site/reader033/viewer/2022050418/5f8da3943b00f555ea6f9414/html5/thumbnails/72.jpg)
Superposicion
Por cada grupo de valores, un grupo de barras
> barchart(Departamento ~ Solicitudes, groups = Resultado,
data = UCBAdmisiones, auto.key=T)
![Page 73: Introducción a R - Universidad de Sevilla · 2 R Markdown 3 Vectores 4 Factores 5 Listas y marcos de datos 6 Gr a cos en R Gr a cos univariantes Gr a cos multivariantes Anadir~ otros](https://reader033.vdocuments.site/reader033/viewer/2022050418/5f8da3943b00f555ea6f9414/html5/thumbnails/73.jpg)
Diagrama de puntos
Un punto por cada dato en una coordenada vertical distinta.
> dotplot(sort(islands[islands < islands["Java"]]),
xlab="Superficie en millas cuadradas")
![Page 74: Introducción a R - Universidad de Sevilla · 2 R Markdown 3 Vectores 4 Factores 5 Listas y marcos de datos 6 Gr a cos en R Gr a cos univariantes Gr a cos multivariantes Anadir~ otros](https://reader033.vdocuments.site/reader033/viewer/2022050418/5f8da3943b00f555ea6f9414/html5/thumbnails/74.jpg)
1 Introduccion
2 R Markdown
3 Vectores
4 Factores
5 Listas y marcos de datos
6 Graficos en RGraficos univariantesGraficos multivariantesAnadir otros elementos
7 Programacion en R
![Page 75: Introducción a R - Universidad de Sevilla · 2 R Markdown 3 Vectores 4 Factores 5 Listas y marcos de datos 6 Gr a cos en R Gr a cos univariantes Gr a cos multivariantes Anadir~ otros](https://reader033.vdocuments.site/reader033/viewer/2022050418/5f8da3943b00f555ea6f9414/html5/thumbnails/75.jpg)
Diagrama de dispersion bivariante
Dibuja un punto por cada par de valores.ejeY ~ ejeX
> A~no <- 1700:1988
> xyplot(sunspot.year ~ A~no)
> xyplot(sunspot.year ~ A~no, type = "b")
> xyplot(sunspot.year ~ A~no, type = "s")
![Page 76: Introducción a R - Universidad de Sevilla · 2 R Markdown 3 Vectores 4 Factores 5 Listas y marcos de datos 6 Gr a cos en R Gr a cos univariantes Gr a cos multivariantes Anadir~ otros](https://reader033.vdocuments.site/reader033/viewer/2022050418/5f8da3943b00f555ea6f9414/html5/thumbnails/76.jpg)
Matriz de diagramas de dispersion
> splom(environmental)
![Page 77: Introducción a R - Universidad de Sevilla · 2 R Markdown 3 Vectores 4 Factores 5 Listas y marcos de datos 6 Gr a cos en R Gr a cos univariantes Gr a cos multivariantes Anadir~ otros](https://reader033.vdocuments.site/reader033/viewer/2022050418/5f8da3943b00f555ea6f9414/html5/thumbnails/77.jpg)
Tecnicas de visualizacion (I)
Anadir una ligera perturbacion a los datos: jitter
> xyplot(Sepal.Length ~ Petal.Length, data = iris)
> xyplot(jitter(Sepal.Length) ~ jitter(Petal.Length), data = iris)
![Page 78: Introducción a R - Universidad de Sevilla · 2 R Markdown 3 Vectores 4 Factores 5 Listas y marcos de datos 6 Gr a cos en R Gr a cos univariantes Gr a cos multivariantes Anadir~ otros](https://reader033.vdocuments.site/reader033/viewer/2022050418/5f8da3943b00f555ea6f9414/html5/thumbnails/78.jpg)
Tecnicas de visualizacion (II)
Razon de aspecto: Relacion entre la altura y la anchura
> f <- function (x) {if (x < 0) x^2 else 10*x}
> ex <- -10:10 ; ey <- sapply(ex, f)
> xyplot(ey ~ ex, type = "l", aspect = 1, xlab = "x", ylab = "f(x)")
> xyplot(ey ~ ex, type = "l", aspect = 1/10, xlab = "x", ylab = "f(x)")
> xyplot(ey ~ ex, type = "l", aspect = 10, xlab = "x", ylab = "f(x)")
![Page 79: Introducción a R - Universidad de Sevilla · 2 R Markdown 3 Vectores 4 Factores 5 Listas y marcos de datos 6 Gr a cos en R Gr a cos univariantes Gr a cos multivariantes Anadir~ otros](https://reader033.vdocuments.site/reader033/viewer/2022050418/5f8da3943b00f555ea6f9414/html5/thumbnails/79.jpg)
Regresion lineal simple
Anadir la recta de regresion
> lm(ozone ~ wind, data = environmental)
Coefficients:
(Intercept) wind
99.054 -5.731
> xyplot(ozone ~ wind, data = environmental, type = c("p", "r"),
aspect = "xy")
![Page 80: Introducción a R - Universidad de Sevilla · 2 R Markdown 3 Vectores 4 Factores 5 Listas y marcos de datos 6 Gr a cos en R Gr a cos univariantes Gr a cos multivariantes Anadir~ otros](https://reader033.vdocuments.site/reader033/viewer/2022050418/5f8da3943b00f555ea6f9414/html5/thumbnails/80.jpg)
Ajuste de una curva
Ajuste de loess:
• alfa (span): si aumenta la curva se hace mas suave
• lambda (degree): grado de ciertos polinomios (1 o 2)
xyplot(ozone ~ wind, data = environmental, type = c("p", "smooth"),
aspect = "xy", span = 0.6, degree = 2)
![Page 81: Introducción a R - Universidad de Sevilla · 2 R Markdown 3 Vectores 4 Factores 5 Listas y marcos de datos 6 Gr a cos en R Gr a cos univariantes Gr a cos multivariantes Anadir~ otros](https://reader033.vdocuments.site/reader033/viewer/2022050418/5f8da3943b00f555ea6f9414/html5/thumbnails/81.jpg)
Distribucion en paneles (trellis)
En cada panel se dibuja el grafico correspondiente a unsubconjunto de datos que se obtienen a partir de variablescondicionantes:
• ~ x | g1 * g2 * ...: histograma, grafico de densidad,matriz de dispersion
• y ~ x | g1 * g2 * ...: diagramas de caja y bigote,barras, puntos y dispersion
![Page 82: Introducción a R - Universidad de Sevilla · 2 R Markdown 3 Vectores 4 Factores 5 Listas y marcos de datos 6 Gr a cos en R Gr a cos univariantes Gr a cos multivariantes Anadir~ otros](https://reader033.vdocuments.site/reader033/viewer/2022050418/5f8da3943b00f555ea6f9414/html5/thumbnails/82.jpg)
> dotplot(variety ~ yield | year * site, data = barley,
xlab="", layout = c(6,2))
![Page 83: Introducción a R - Universidad de Sevilla · 2 R Markdown 3 Vectores 4 Factores 5 Listas y marcos de datos 6 Gr a cos en R Gr a cos univariantes Gr a cos multivariantes Anadir~ otros](https://reader033.vdocuments.site/reader033/viewer/2022050418/5f8da3943b00f555ea6f9414/html5/thumbnails/83.jpg)
Condicionante cuantitativa
> E.shingle <- equal.count(ethanol$E, number = 9, overlap = 1/4)
> xyplot(NOx ~ C | E.shingle, data = ethanol, aspect = "xy",
xlab = "Razon de compresion",
ylab = "Oxidos de nitrogeno (microgramos/J)")
![Page 84: Introducción a R - Universidad de Sevilla · 2 R Markdown 3 Vectores 4 Factores 5 Listas y marcos de datos 6 Gr a cos en R Gr a cos univariantes Gr a cos multivariantes Anadir~ otros](https://reader033.vdocuments.site/reader033/viewer/2022050418/5f8da3943b00f555ea6f9414/html5/thumbnails/84.jpg)
Superposicion de paneles
> xyplot(Sepal.Length+Sepal.Width ~ Petal.Length+Petal.Width | Species,
data = iris, auto.key = list(column = 2),
xlab = "Longitud y anchura del petalo",
ylab = "Longitud y anchura del sepalo")
![Page 85: Introducción a R - Universidad de Sevilla · 2 R Markdown 3 Vectores 4 Factores 5 Listas y marcos de datos 6 Gr a cos en R Gr a cos univariantes Gr a cos multivariantes Anadir~ otros](https://reader033.vdocuments.site/reader033/viewer/2022050418/5f8da3943b00f555ea6f9414/html5/thumbnails/85.jpg)
1 Introduccion
2 R Markdown
3 Vectores
4 Factores
5 Listas y marcos de datos
6 Graficos en RGraficos univariantesGraficos multivariantesAnadir otros elementos
7 Programacion en R
![Page 86: Introducción a R - Universidad de Sevilla · 2 R Markdown 3 Vectores 4 Factores 5 Listas y marcos de datos 6 Gr a cos en R Gr a cos univariantes Gr a cos multivariantes Anadir~ otros](https://reader033.vdocuments.site/reader033/viewer/2022050418/5f8da3943b00f555ea6f9414/html5/thumbnails/86.jpg)
Formato del punto y datos extra
> xyplot(1:10 ~ 1:10)
> xyplot(1:10 ~ 1:10, pch=3, col="red")
> xyplot(1:10 ~ 1:10,
panel = function (x, y) {
panel.xyplot(x, y, pch=3, col="red")
panel.points(c(2,2), c(4,5), pch=5, col="blue")})
![Page 87: Introducción a R - Universidad de Sevilla · 2 R Markdown 3 Vectores 4 Factores 5 Listas y marcos de datos 6 Gr a cos en R Gr a cos univariantes Gr a cos multivariantes Anadir~ otros](https://reader033.vdocuments.site/reader033/viewer/2022050418/5f8da3943b00f555ea6f9414/html5/thumbnails/87.jpg)
Formato del punto y datos extra
> xyplot(1:10 ~ 1:10)
> xyplot(1:10 ~ 1:10, pch=3, col="red")
> xyplot(1:10 ~ 1:10,
panel = function (x, y) {
panel.xyplot(x, y, pch=3, col="red")
panel.points(c(2,2), c(4,5), pch=5, col="blue")})
![Page 88: Introducción a R - Universidad de Sevilla · 2 R Markdown 3 Vectores 4 Factores 5 Listas y marcos de datos 6 Gr a cos en R Gr a cos univariantes Gr a cos multivariantes Anadir~ otros](https://reader033.vdocuments.site/reader033/viewer/2022050418/5f8da3943b00f555ea6f9414/html5/thumbnails/88.jpg)
Formato del punto y datos extra
> xyplot(1:10 ~ 1:10)
> xyplot(1:10 ~ 1:10, pch=3, col="red")
> xyplot(1:10 ~ 1:10,
panel = function (x, y) {
panel.xyplot(x, y, pch=3, col="red")
panel.points(c(2,2), c(4,5), pch=5, col="blue")})
![Page 89: Introducción a R - Universidad de Sevilla · 2 R Markdown 3 Vectores 4 Factores 5 Listas y marcos de datos 6 Gr a cos en R Gr a cos univariantes Gr a cos multivariantes Anadir~ otros](https://reader033.vdocuments.site/reader033/viewer/2022050418/5f8da3943b00f555ea6f9414/html5/thumbnails/89.jpg)
Leyenda
attach(iris)
xyplot(Sepal.Width ~ Sepal.Length, groups = Species, auto.key = TRUE)
xyplot(Sepal.Width ~ Sepal.Length, groups = Species,
auto.key = list(corner=c(1,0.95), lines=T, points=F,
text=c("Setosa","Versicolor","Virginica")))
xyplot(Sepal.Width ~ Sepal.Length, groups = Species, pch=4:6, col=2:4,
key = list(corner=c(1,0.95), lines=list(col=2:4, lty=1:3),
text=list(c("Setosa","Versicolor","Virginica"), font=3)))
![Page 90: Introducción a R - Universidad de Sevilla · 2 R Markdown 3 Vectores 4 Factores 5 Listas y marcos de datos 6 Gr a cos en R Gr a cos univariantes Gr a cos multivariantes Anadir~ otros](https://reader033.vdocuments.site/reader033/viewer/2022050418/5f8da3943b00f555ea6f9414/html5/thumbnails/90.jpg)
Leyenda
attach(iris)
xyplot(Sepal.Width ~ Sepal.Length, groups = Species, auto.key = TRUE)
xyplot(Sepal.Width ~ Sepal.Length, groups = Species,
auto.key = list(corner=c(1,0.95), lines=T, points=F,
text=c("Setosa","Versicolor","Virginica")))
xyplot(Sepal.Width ~ Sepal.Length, groups = Species, pch=4:6, col=2:4,
key = list(corner=c(1,0.95), lines=list(col=2:4, lty=1:3),
text=list(c("Setosa","Versicolor","Virginica"), font=3)))
![Page 91: Introducción a R - Universidad de Sevilla · 2 R Markdown 3 Vectores 4 Factores 5 Listas y marcos de datos 6 Gr a cos en R Gr a cos univariantes Gr a cos multivariantes Anadir~ otros](https://reader033.vdocuments.site/reader033/viewer/2022050418/5f8da3943b00f555ea6f9414/html5/thumbnails/91.jpg)
Leyenda
attach(iris)
xyplot(Sepal.Width ~ Sepal.Length, groups = Species, auto.key = TRUE)
xyplot(Sepal.Width ~ Sepal.Length, groups = Species,
auto.key = list(corner=c(1,0.95), lines=T, points=F,
text=c("Setosa","Versicolor","Virginica")))
xyplot(Sepal.Width ~ Sepal.Length, groups = Species, pch=4:6, col=2:4,
key = list(corner=c(1,0.95), lines=list(col=2:4, lty=1:3),
text=list(c("Setosa","Versicolor","Virginica"), font=3)))
![Page 92: Introducción a R - Universidad de Sevilla · 2 R Markdown 3 Vectores 4 Factores 5 Listas y marcos de datos 6 Gr a cos en R Gr a cos univariantes Gr a cos multivariantes Anadir~ otros](https://reader033.vdocuments.site/reader033/viewer/2022050418/5f8da3943b00f555ea6f9414/html5/thumbnails/92.jpg)
Superponer distintos graficos
> a <- rnorm(1000)
> histogram(~ a, type = "density",
panel = function(x, ...) {
panel.histogram(x, ..., col="blue", border="white")
panel.densityplot(x,..., col = "orange", lwd=3)})
> histogram(~ a, type = "density",
panel = function(x, ...) {
panel.histogram(x, breaks=25, col="blue", border="white")
panel.densityplot(x,..., col = "orange", lwd = 3)})
![Page 93: Introducción a R - Universidad de Sevilla · 2 R Markdown 3 Vectores 4 Factores 5 Listas y marcos de datos 6 Gr a cos en R Gr a cos univariantes Gr a cos multivariantes Anadir~ otros](https://reader033.vdocuments.site/reader033/viewer/2022050418/5f8da3943b00f555ea6f9414/html5/thumbnails/93.jpg)
Escala logarıtmica y curva suavizada
xyplot(dist ~ speed, data = cars, type=c("p","smooth"), span=1,
main = "Conjunto de datos: cars",
xlab = "Velocidad (mph)", ylab = "Distancia de franado (ft)")
xyplot(log10(dist) ~ log10(speed), data = cars,
type=c("p","smooth"), span=1,
main = "Conjunto de datos: cars (escala logartıtmica)",
xlab = "Velocidad (mph)", ylab = "Distancia de franado (ft)")
![Page 94: Introducción a R - Universidad de Sevilla · 2 R Markdown 3 Vectores 4 Factores 5 Listas y marcos de datos 6 Gr a cos en R Gr a cos univariantes Gr a cos multivariantes Anadir~ otros](https://reader033.vdocuments.site/reader033/viewer/2022050418/5f8da3943b00f555ea6f9414/html5/thumbnails/94.jpg)
Escala logarıtmica y curva suavizada
xyplot(dist ~ speed, data = cars, type=c("p","smooth"), span=1,
main = "Conjunto de datos: cars",
xlab = "Velocidad (mph)", ylab = "Distancia de franado (ft)")
xyplot(log10(dist) ~ log10(speed), data = cars,
type=c("p","smooth"), span=1,
main = "Conjunto de datos: cars (escala logartıtmica)",
xlab = "Velocidad (mph)", ylab = "Distancia de franado (ft)")
![Page 95: Introducción a R - Universidad de Sevilla · 2 R Markdown 3 Vectores 4 Factores 5 Listas y marcos de datos 6 Gr a cos en R Gr a cos univariantes Gr a cos multivariantes Anadir~ otros](https://reader033.vdocuments.site/reader033/viewer/2022050418/5f8da3943b00f555ea6f9414/html5/thumbnails/95.jpg)
Escala logarıtmica y curva suavizada
xyplot(dist ~ speed, data = cars,
main = "Conjunto de datos: cars (escala logarıtmica)",
xlab = "Velocidad (mph)", ylab = "Distancia de franado (ft)",
scales = list(x=list(equispaced.log = FALSE,log=TRUE),
y=list(equispaced.log = FALSE,log=TRUE),
col="green"),
panel = function(x, y) {panel.xyplot(x, y)
panel.loess(x, y, span=1, col="red")})
![Page 96: Introducción a R - Universidad de Sevilla · 2 R Markdown 3 Vectores 4 Factores 5 Listas y marcos de datos 6 Gr a cos en R Gr a cos univariantes Gr a cos multivariantes Anadir~ otros](https://reader033.vdocuments.site/reader033/viewer/2022050418/5f8da3943b00f555ea6f9414/html5/thumbnails/96.jpg)
Otras opciones (I)
Para cualquiera de los tıtulos
> xyplot(ozone^0.5 ~ wind, data = environmental,
ylab = expression(sqrt("Concentracion de ozono")),
xlab = list(label = "Velocidad del viento",
cex = 2, col = "red", font = 3))
![Page 97: Introducción a R - Universidad de Sevilla · 2 R Markdown 3 Vectores 4 Factores 5 Listas y marcos de datos 6 Gr a cos en R Gr a cos univariantes Gr a cos multivariantes Anadir~ otros](https://reader033.vdocuments.site/reader033/viewer/2022050418/5f8da3943b00f555ea6f9414/html5/thumbnails/97.jpg)
Otras opciones (II)
Elegir parte de un factor
> bwplot(Species ~ Sepal.Length, data = iris,
subset = Species != "setosa")
![Page 98: Introducción a R - Universidad de Sevilla · 2 R Markdown 3 Vectores 4 Factores 5 Listas y marcos de datos 6 Gr a cos en R Gr a cos univariantes Gr a cos multivariantes Anadir~ otros](https://reader033.vdocuments.site/reader033/viewer/2022050418/5f8da3943b00f555ea6f9414/html5/thumbnails/98.jpg)
Otras opciones (III)
Recorrido y seleccion de paneles
> histogram(~ height | voice.part, data = singer, layout = c(3, 3))
> histogram(~ height | voice.part, data = singer, layout = c(3, 3),
as.table=T, skip = c(rep(FALSE, 4), TRUE, rep(FALSE, 4)))
![Page 99: Introducción a R - Universidad de Sevilla · 2 R Markdown 3 Vectores 4 Factores 5 Listas y marcos de datos 6 Gr a cos en R Gr a cos univariantes Gr a cos multivariantes Anadir~ otros](https://reader033.vdocuments.site/reader033/viewer/2022050418/5f8da3943b00f555ea6f9414/html5/thumbnails/99.jpg)
Otros elementos...
> rojos <- runif(10,1,10) ; verdes <- runif(10,1,10)
> lineas <- runif(10, 1, 10) ; textos <- runif(10,1,10)
> poligono <- runif(8,1,10)
> xyplot(1:10 ~ 1:10, xlab = "", ylab = "", col="black",
scales = list(x = list(labels=c("uno", "tres", "cinco",
"siete", "nueve"),
at = seq(1,10,by=2)),
y = list(labels=1:10, at=1:10)),
main = "Grafico inventado",
key = list(text = list(c("uno", "dos", "tres")),
x=0.8, y=0.3, lines=list(col=rainbow(3), lty=1:3)),
panel = function (x, y, ...) {
panel.xyplot(x, y, ...)
panel.points(rojos[1:5], rojos[6:10], cex=1.5, col="red")
panel.points(verdes[1:5], verdes[6:10], cex=1.7, col="green",
pch="+")
panel.lines(1:10, lineas, lty=2, lwd=2, col="black")
panel.text(textos[1:5], textos[6:10], cex=1.7, col=rainbow(5),
labels = c("uno", "dos", "tres", "cuatro", "cinco"))
panel.abline(h=5, lty=4)
panel.polygon(poligono[1:4], poligono[5:8], col="blue")})
![Page 100: Introducción a R - Universidad de Sevilla · 2 R Markdown 3 Vectores 4 Factores 5 Listas y marcos de datos 6 Gr a cos en R Gr a cos univariantes Gr a cos multivariantes Anadir~ otros](https://reader033.vdocuments.site/reader033/viewer/2022050418/5f8da3943b00f555ea6f9414/html5/thumbnails/100.jpg)
![Page 101: Introducción a R - Universidad de Sevilla · 2 R Markdown 3 Vectores 4 Factores 5 Listas y marcos de datos 6 Gr a cos en R Gr a cos univariantes Gr a cos multivariantes Anadir~ otros](https://reader033.vdocuments.site/reader033/viewer/2022050418/5f8da3943b00f555ea6f9414/html5/thumbnails/101.jpg)
1 Introduccion
2 R Markdown
3 Vectores
4 Factores
5 Listas y marcos de datos
6 Graficos en RGraficos univariantesGraficos multivariantesAnadir otros elementos
7 Programacion en R
![Page 102: Introducción a R - Universidad de Sevilla · 2 R Markdown 3 Vectores 4 Factores 5 Listas y marcos de datos 6 Gr a cos en R Gr a cos univariantes Gr a cos multivariantes Anadir~ otros](https://reader033.vdocuments.site/reader033/viewer/2022050418/5f8da3943b00f555ea6f9414/html5/thumbnails/102.jpg)
Agrupacion de expresiones
• Las expresiones pueden ser agrupadas entre llaves:
• En una misma lınea han de separarse por ;
{
a <- 0; b <- 1
c <- a+b
}
• El valor que devuelve el grupo es el valor de la ultimaexpresion
![Page 103: Introducción a R - Universidad de Sevilla · 2 R Markdown 3 Vectores 4 Factores 5 Listas y marcos de datos 6 Gr a cos en R Gr a cos univariantes Gr a cos multivariantes Anadir~ otros](https://reader033.vdocuments.site/reader033/viewer/2022050418/5f8da3943b00f555ea6f9414/html5/thumbnails/103.jpg)
Condicional: ifif (condicion) consecuencia [else alternativa]
• condicion tiene que devolver un unico valor logico• Si consecuencia y/o alternativa son un grupo de expresiones
han de ir entre llaves• Si condicion devuelve el valor TRUE se obtiene el valor de
consecuencia• en caso contrario, se obtiene el valor de alternativa
> c <- 0:10 < 9 & 3 < 0:10
> c
[1] FALSE FALSE FALSE FALSE TRUE TRUE TRUE TRUE TRUE FALSE FALSE
> a <- 10:20
> b <- 40:50
> if (TRUE) a + b else a * b
[1] 50 52 54 56 58 60 62 64 66 68 70
> if (c) a + b else a * b
[1] 400 451 504 559 616 675 736 799 864 931 1000
Warning message:
In if (c) a + b else a * b :
la condicion tiene longitud > 1 y solo el primer elemento sera usado
>
![Page 104: Introducción a R - Universidad de Sevilla · 2 R Markdown 3 Vectores 4 Factores 5 Listas y marcos de datos 6 Gr a cos en R Gr a cos univariantes Gr a cos multivariantes Anadir~ otros](https://reader033.vdocuments.site/reader033/viewer/2022050418/5f8da3943b00f555ea6f9414/html5/thumbnails/104.jpg)
Condicional: ifelse
ifelse(condicion,a,b)
• Devuelve un vector de la misma longitud que condicion, conlos elementos a[i] si condicion[i] tiene el valor TRUE, y b[i] encaso contrario.
> c <- 0:10 < 9 & 3 < 0:10
> c
[1] FALSE FALSE FALSE FALSE TRUE TRUE TRUE TRUE TRUE FALSE FALSE
> a <- 10:20
> b <- 40:50
> ifelse(c, a, b)
[1] 40 41 42 43 14 15 16 17 18 49 50
![Page 105: Introducción a R - Universidad de Sevilla · 2 R Markdown 3 Vectores 4 Factores 5 Listas y marcos de datos 6 Gr a cos en R Gr a cos univariantes Gr a cos multivariantes Anadir~ otros](https://reader033.vdocuments.site/reader033/viewer/2022050418/5f8da3943b00f555ea6f9414/html5/thumbnails/105.jpg)
for, while, repeat
for (var in vector) expr
• expr se calcula tantas veces como elementos tenga vector
• la variable var toma como valor, en cada ocasion, cada unode los elementos de vector
while (condicion) expr
• se calcula expr mientras condicion tenga el valor TRUE
repeat expr
• se calcula expr mientras no se interrumpa explıcitamente conla instruccion break.
![Page 106: Introducción a R - Universidad de Sevilla · 2 R Markdown 3 Vectores 4 Factores 5 Listas y marcos de datos 6 Gr a cos en R Gr a cos univariantes Gr a cos multivariantes Anadir~ otros](https://reader033.vdocuments.site/reader033/viewer/2022050418/5f8da3943b00f555ea6f9414/html5/thumbnails/106.jpg)
Ejemplos> a <- 1:5000; b <- 11:5010
> system.time(res <- a+b)
user system elapsed
0 0 0
> system.time({resFor <- c() ;
for (i in 1:5000) resFor[i] <- a[i]+b[i]})
user system elapsed
0.026 0.000 0.025
> system.time({resWhile <- c() ; i<-1 ;
while (i <= 5000) {resWhile[i] <- a[i]+b[i] ; i<- i+1}})
user system elapsed
0.028 0.000 0.027
> system.time({resRepeat <- c() ; i<-1 ;
repeat {if (i<=5000) {resRepeat[i] <- a[i]+b[i] ; i<- i+1}
else break}})
user system elapsed
0.028 0.000 0.028
> identical(res,resFor)
[1] TRUE
> identical(resFor,resWhile)
[1] TRUE
> identical(resWhile,resRepeat)
[1] TRUE
![Page 107: Introducción a R - Universidad de Sevilla · 2 R Markdown 3 Vectores 4 Factores 5 Listas y marcos de datos 6 Gr a cos en R Gr a cos univariantes Gr a cos multivariantes Anadir~ otros](https://reader033.vdocuments.site/reader033/viewer/2022050418/5f8da3943b00f555ea6f9414/html5/thumbnails/107.jpg)
Definicion de funciones
nombre <- function(var1,...,varn) expr
• expr es una agrupacion de expresiones que utilizan var1,. . . varn
nombre(arg1,..., argn)
• valor de expr tras sustituir cada vari por el valor de argi
> ecGrado2 <- function(a, b, c)
{ disc <- (b^2)-(4*a*c)
sol1 <- (-b + sqrt(disc))/(2*a)
sol2 <- (-b - sqrt(disc))/(2*a)
c(sol1,sol2)
}
> ecGrado2(2,4,1)
[1] -0.2928932 -1.7071068
> "%porcentaje%" <- function(a,b) (a/(a+b))*100
> 4 %porcentaje% 6
[1] 40
>