Ciclo de clases en bioinformática: Principios de...

89
Principios de R lcollado Inicio Paquetes para hoy Soluci´ on Ejercicios Paquetes en R lattice plotrix car Ejercicios Sigue . . . Ciclo de clases en bioinform´ atica: Principios de R Leonardo Collado Torres [email protected] Licenciado en Ciencias Gen´ omicas www.lcg.unam.mx/~lcollado/ Instituto de Biotecnolog´ ıa (IBT) de la UNAM y Winter Genomics (WG) Octubre - Noviembre, 2009 1 / 89

Transcript of Ciclo de clases en bioinformática: Principios de...

Principios deR

lcollado

Inicio

Paquetes parahoy

SolucionEjercicios

Paquetes en R

lattice

plotrix

car

Ejercicios

Sigue . . .

Ciclo de clases en bioinformatica:Principios de R

Leonardo Collado [email protected]

Licenciado en Ciencias Genomicaswww.lcg.unam.mx/~lcollado/

Instituto de Biotecnologıa (IBT) de la UNAM y Winter Genomics (WG)

Octubre - Noviembre, 2009

1 / 89

Principios deR

lcollado

Inicio

Paquetes parahoy

SolucionEjercicios

Paquetes en R

lattice

plotrix

car

Ejercicios

Sigue . . .

Graficas avanzadas con R

1 Paquetes para hoy

2 Solucion Ejercicios

3 Paquetes en R

4 lattice

5 plotrix

6 car

7 Ejercicios

2 / 89

Principios deR

lcollado

Inicio

Paquetes parahoy

SolucionEjercicios

Paquetes en R

lattice

plotrix

car

Ejercicios

Sigue . . .

Graficas avanzadas con R8 Sigue . . .

3 / 89

Principios deR

lcollado

Inicio

Paquetes parahoy

SolucionEjercicios

Paquetes en R

lattice

plotrix

car

Ejercicios

Sigue . . .

Mientras. . .

� Por favor instalen los siguientes paquetes si no lo hanhecho todavıa.

> install.packages(c("lattice", "plotrix",

+ "car"))

� Estos otros paquetes son utiles para ejemplos:

> install.packages(c("mlmRev", "DAAG"))

� Usen los espejos de USA (WA) o USA (CA 1).

4 / 89

Principios deR

lcollado

Inicio

Paquetes parahoy

SolucionEjercicios

Paquetes en R

lattice

plotrix

car

Ejercicios

Sigue . . .

Ejercicios

� Usando el objeto mirnas, guarden en un objeto1 losvalores de la columna Total de las lıneas impares.

� Usando ese objeto, hagan un histograma con la lınea dedensidad. Pongale un tıtulo y nombres a los ejes.

� Con el mismo objeto, hagan un boxplot. Ponganle untıtulo y nombres a los ejes.¿Que pueden concluir?

� Exploren graficamente si esos datos se distribuyen comonormal usando . . .

1Si no quieren esta bien, es solo para evitar escribir mas codigo.

5 / 89

Principios deR

lcollado

Inicio

Paquetes parahoy

SolucionEjercicios

Paquetes en R

lattice

plotrix

car

Ejercicios

Sigue . . .

Histograma con densidad

> mirnas <- read.csv("http://www.lcg.unam.mx/~lcollado/E/data/mirnas.csv",

+ header = T)

> datos <- mirnas$Total[rep(c(TRUE,

+ FALSE), nrow(mirnas)/2)]

> hist(datos, col = "light blue",

+ main = "Histograma de mirnas$Total (l impares)",

+ ylab = "Densidad", xlab = "miRNAs del set Total",

+ prob = T)

> lines(density(datos), col = "red")

6 / 89

Principios deR

lcollado

Inicio

Paquetes parahoy

SolucionEjercicios

Paquetes en R

lattice

plotrix

car

Ejercicios

Sigue . . .

Histograma con densidad

Histograma de mirnas$Total (l impares)

miRNAs del set Total

Den

sida

d

0 10000 20000 30000 40000

0.00

000

0.00

005

0.00

010

0.00

015

7 / 89

Principios deR

lcollado

Inicio

Paquetes parahoy

SolucionEjercicios

Paquetes en R

lattice

plotrix

car

Ejercicios

Sigue . . .

Boxplot

> boxplot(datos, main = "Boxplot de mirnas$Total (l impares)",

+ xlab = "miRNAs del set Total",

+ ylab = "Frecuencia", col = "light blue")

8 / 89

Principios deR

lcollado

Inicio

Paquetes parahoy

SolucionEjercicios

Paquetes en R

lattice

plotrix

car

Ejercicios

Sigue . . .

Boxplot

●●●●●●

●●●●

●●

●●●●●●●

●●

●●

●●●●

010

000

2000

030

000

4000

0

Boxplot de mirnas$Total (l impares)

miRNAs del set Total

Fre

cuen

cia

9 / 89

Principios deR

lcollado

Inicio

Paquetes parahoy

SolucionEjercicios

Paquetes en R

lattice

plotrix

car

Ejercicios

Sigue . . .

QQnorm

> qqnorm(datos, main = "QQnorm de mirnas$Total (l impares)",

+ xlab = "Cuantiles teoricos (dist norm)",

+ ylab = "Cuantiles de miRNAs del set Total")

> qqline(datos, col = "red")

10 / 89

Principios deR

lcollado

Inicio

Paquetes parahoy

SolucionEjercicios

Paquetes en R

lattice

plotrix

car

Ejercicios

Sigue . . .

QQnorm

●●●●●●

●●●●●●

●●

●●●

●●●●

●●

● ●●

●●●●●●●

●●

● ●

●●

●●● ●●●● ● ●●●●●● ●

●●

●●

●●●●●●● ●●●●●●●●●● ●●● ●●●●●

●●

● ●●●● ● ●● ● ●● ●●●● ●●●●●●●●●● ●●● ● ●●● ●● ●●● ●● ●●●●●●●●●●●●●●● ●●●●●●●●●● ●●●●●● ●● ●●●●●●●●●●●●●● ●● ●●●●●● ●●● ●●●●●● ●●● ●●

−3 −2 −1 0 1 2 3

010

000

2000

030

000

4000

0

QQnorm de mirnas$Total (l impares)

Cuantiles teóricos (dist norm)

Cua

ntile

s de

miR

NA

s de

l set

Tot

al

11 / 89

Principios deR

lcollado

Inicio

Paquetes parahoy

SolucionEjercicios

Paquetes en R

lattice

plotrix

car

Ejercicios

Sigue . . .

Conclusiones

� Con el histograma vemos claramente que la gran mayorıade los miRNAs del experimento Total aparecen menos de10 mil veces, con algunos pocos arriba de 40 mil. La lıneade densidad nos ayuda a ver que hay varios picos entre 0 y15 mil.

� El boxplot nos reafirma que nuestros datos estan sesgadosa la derecha. Ademas, el 75 % de los miRNAs de nuestroset tienen una frecuencia menor a mil por donde esta lacaja en el diagrama. Tambien notamos que tenemospuntos extremos en la parte derecha (o superior) siendo elmaximo aprox 42 mil.

12 / 89

Principios deR

lcollado

Inicio

Paquetes parahoy

SolucionEjercicios

Paquetes en R

lattice

plotrix

car

Ejercicios

Sigue . . .

Conclusiones

� Con la grafica de QQnorm vemos claramente que nuestrosdatos no tienen nada que ver con la distribucion normal. Siquisieramos aplicar alguna prueba estadıstica tendrıa queser no parametrica: no asumen una dist. normal de losdatos.

13 / 89

Principios deR

lcollado

Inicio

Paquetes parahoy

SolucionEjercicios

Paquetes en R

lattice

plotrix

car

Ejercicios

Sigue . . .

Intro

� Equivalen a las librerıas en C, aunque con menosproblemas de dependencias.

� Son lo que lo han hecho a R tan funcional y popular.

� Existen tres grandes repositorios:

1 CRAN: de donde bajaron R, hay mas de 2 mil!

2 Bioconductor: con estandares mas altos, son parabioinformatica.

3 OmegaHat

14 / 89

Principios deR

lcollado

Inicio

Paquetes parahoy

SolucionEjercicios

Paquetes en R

lattice

plotrix

car

Ejercicios

Sigue . . .

Instalacion

� Como ya vimos, la instalacion de un paquete de CRAN sehace con la funcion install.packages:

> install.packages("NombrePqt")

� En este curso no vamos a ver Bioconductor, pero siquieren instalar un paquete hay que usar un script especialllamado biocLite:

> source("http://bioconductor.org/biocLite.R")

> biocLite()

> biocLite("NombrePqt")

15 / 89

Principios deR

lcollado

Inicio

Paquetes parahoy

SolucionEjercicios

Paquetes en R

lattice

plotrix

car

Ejercicios

Sigue . . .

Ayuda de un paquete

� Es muy util checar la ayuda de un paquete!

� Allı viene la lista de funciones del paquete mas unapequena descripcion.

> help.start()

> help(package = NombrePaquete)

� ¿Cual es el reemplazo para la funcion hist en el paquetelattice?

16 / 89

Principios deR

lcollado

Inicio

Paquetes parahoy

SolucionEjercicios

Paquetes en R

lattice

plotrix

car

Ejercicios

Sigue . . .

Encontrar paquetes

� Para encontrar paquetes en CRAN que sean de su interesles recomiendo mucho los CRAN Task Views.

� Por ejemplo, el de graficas es: http://cran.r-project.org/web/views/Graphics.html

� Para paquetes de Bioconductor les recomiendo:

� http://bioconductor.org/download

� http://bioconductor.org/packages/release/BiocViews.html

17 / 89

Principios deR

lcollado

Inicio

Paquetes parahoy

SolucionEjercicios

Paquetes en R

lattice

plotrix

car

Ejercicios

Sigue . . .

Cargando el pqt

� El primer paquete que veremos hoy es lattice.

� Carguenlo en su sesion con:

> library(lattice)

� Si alguien esta interesado en saber mas del paquetechequen:

> `?`(Lattice)

18 / 89

Principios deR

lcollado

Inicio

Paquetes parahoy

SolucionEjercicios

Paquetes en R

lattice

plotrix

car

Ejercicios

Sigue . . .

Datos: Chem97

� Vamos a usar el siguiente set de datos para ejemplos:

> data(Chem97, package = "mlmRev")

� ¿Que tipo de objeto es Chem97?

� ¿Cuantos datos tenemos?

19 / 89

Principios deR

lcollado

Inicio

Paquetes parahoy

SolucionEjercicios

Paquetes en R

lattice

plotrix

car

Ejercicios

Sigue . . .

Chem97

� Rapidamente:

> class(Chem97)

[1] "data.frame"

> dim(Chem97)

[1] 31022 8

> Chem97[1, ]

lea school student score gender age1 1 1 1 4 F 3gcsescore gcsecnt

1 6.625 0.3393157

� Son unos datos de examenes en USA.

20 / 89

Principios deR

lcollado

Inicio

Paquetes parahoy

SolucionEjercicios

Paquetes en R

lattice

plotrix

car

Ejercicios

Sigue . . .

Sintaxis de formula

� lattice usa la sintaxis de formula.

� Basicamente es y ˜ x |g1 ∗ g2 donde x es la variable condatos numericos y g1 es de tipo factor.

� ¿Que era un factor?

� Ahora comparemos dos histogramas:

21 / 89

Principios deR

lcollado

Inicio

Paquetes parahoy

SolucionEjercicios

Paquetes en R

lattice

plotrix

car

Ejercicios

Sigue . . .

Opcion normal

> hist(Chem97$gcsescore)

Histogram of Chem97$gcsescore

Chem97$gcsescore

Fre

quen

cy

0 2 4 6 8

020

0040

0060

00

22 / 89

Principios deR

lcollado

Inicio

Paquetes parahoy

SolucionEjercicios

Paquetes en R

lattice

plotrix

car

Ejercicios

Sigue . . .

Opcion lattice

> print(histogram(~gcsescore, data = Chem97))

gcsescore

Per

cent

of T

otal

0

5

10

15

20

25

0 2 4 6 8

23 / 89

Principios deR

lcollado

Inicio

Paquetes parahoy

SolucionEjercicios

Paquetes en R

lattice

plotrix

car

Ejercicios

Sigue . . .

Print

� ¿Por que use la funcion print? ¿Alguna idea?

� La respuesta sera clara cuando intenten guardar su imagenusando alguna funcion como pdf.

� ¿Por que es util usar el argumento de data?

� ¿Son iguales nuestros histogramas?

� En realidad los dos histogramas se parecen mucho, pero lagran ventaja de usar lattice es cuando agrupamos nuestrosdatos de una variable por las categorıas de otra.

24 / 89

Principios deR

lcollado

Inicio

Paquetes parahoy

SolucionEjercicios

Paquetes en R

lattice

plotrix

car

Ejercicios

Sigue . . .

gcsescore dado score

> print(histogram(~gcsescore | factor(score),

+ data = Chem97))

25 / 89

Principios deR

lcollado

Inicio

Paquetes parahoy

SolucionEjercicios

Paquetes en R

lattice

plotrix

car

Ejercicios

Sigue . . .

gcsescore dado score

gcsescore

Per

cent

of T

otal

0

10

20

30

0 2 4 6 8

0 2

0 2 4 6 8

4

6

0 2 4 6 8

8

0

10

20

30

10

26 / 89

Principios deR

lcollado

Inicio

Paquetes parahoy

SolucionEjercicios

Paquetes en R

lattice

plotrix

car

Ejercicios

Sigue . . .

Ahora con 3 variables

� ¿Por que usamos la funcion factor?

> class(Chem97$score)

[1] "numeric"

� En la anterior grafica tenemos un panel para cadacategorıa de la variable score.

� Pero bueno, el chiste no era visualizar dos variables, sino3! Por ejemplo, el genero:

> class(Chem97$gender)

[1] "factor"

� ¿Se podran hacer histogramas con estas tres variables?

� ¿O se les ocurre alguna alternativa?

27 / 89

Principios deR

lcollado

Inicio

Paquetes parahoy

SolucionEjercicios

Paquetes en R

lattice

plotrix

car

Ejercicios

Sigue . . .

Densityplot

En realidad esta dificil con histogramas, pero si se puede conlıneas de densidad :)

> print(densityplot(~gcsescore |

+ factor(score), Chem97, groups = gender,

+ plot.points = FALSE, auto.key = TRUE))

28 / 89

Principios deR

lcollado

Inicio

Paquetes parahoy

SolucionEjercicios

Paquetes en R

lattice

plotrix

car

Ejercicios

Sigue . . .

Densityplot

gcsescore

Den

sity

0.0

0.2

0.4

0.6

0.8

0 2 4 6 8

0 2

0 2 4 6 8

4

6

0 2 4 6 8

8

0.0

0.2

0.4

0.6

0.8

10

MF

29 / 89

Principios deR

lcollado

Inicio

Paquetes parahoy

SolucionEjercicios

Paquetes en R

lattice

plotrix

car

Ejercicios

Sigue . . .

Otros argumentos

� ¿Como use nuestra tercera variable?

� Uso el argumento plot.points para no saturar nuestragrafica.

� ¿Que creen que hace el argumento auto.key?

30 / 89

Principios deR

lcollado

Inicio

Paquetes parahoy

SolucionEjercicios

Paquetes en R

lattice

plotrix

car

Ejercicios

Sigue . . .

qqmath

Tambien podemos usar qqmath que es muy similar a qqplot

> print(qqmath(~gcsescore | factor(score),

+ Chem97, groups = gender, auto.key = TRUE,

+ aspect = "xy", f.value = ppoints(1000)))

31 / 89

Principios deR

lcollado

Inicio

Paquetes parahoy

SolucionEjercicios

Paquetes en R

lattice

plotrix

car

Ejercicios

Sigue . . .

qqmath

qnorm

gcse

scor

e

2345678

−2 0 2

●●●●●

●●●●●●●●●●●●●●●●●●●●●●●●

●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●

●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●

●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●

●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●

●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●

●●●●●

●●●●●

●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●

●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●

●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●

●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●

●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●

●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●

●●●

0

●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●

●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●

●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●

●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●

●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●

●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●

●●●●●●●●●●●

●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●

●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●

●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●

●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●

●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●

2

●●●●●●

●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●

●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●

●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●

●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●

●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●

●●●●●●●●●●●●●●●

●●●●●●●●●●●●●

●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●

●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●

●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●

●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●

●●●●●●●●●●●●●●●●●●●●●●●●●●●●

4

2345678

●●●●●●●●●●

●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●

●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●

●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●

●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●

●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●

●●

●●●●●●●●●●●●●●

●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●

●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●

●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●

●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●

●●●●●●●●●●

62345678

●●●●●●●●●●●●

●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●

●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●

●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●

●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●

●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●

●●●

●●●●●●●●●●●●●●●●●●●●●●●

●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●

●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●

●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●

●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●

8

−2 0 2

●●●

●●●●●●●●●●

●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●

●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●

●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●

●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●

●●●●●

●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●

●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●

●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●

●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●

10

MF

32 / 89

Principios deR

lcollado

Inicio

Paquetes parahoy

SolucionEjercicios

Paquetes en R

lattice

plotrix

car

Ejercicios

Sigue . . .

Otra opcion

¿Que notan de diferente en esta grafica?

> print(qqmath(~gcsescore | factor(score),

+ Chem97, groups = gender, auto.key = TRUE,

+ aspect = "xy", f.value = ppoints(100),

+ type = c("p", "g")))

33 / 89

Principios deR

lcollado

Inicio

Paquetes parahoy

SolucionEjercicios

Paquetes en R

lattice

plotrix

car

Ejercicios

Sigue . . .

Otra opcion

qnorm

gcse

scor

e

3

4

5

6

7

8

−2 −1 0 1 2

●●●●

●●●●●●●

●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●

●●●●●●●●●●●●●●●●●●●●●●●

●●●●●●●●●●●●●●●●●●●

●●●●●●●●●●●●

●●●●

●●●●

●●●●●●●

●●●●●●●●●●●●●●●●●●

●●●●●●●●●●●●●●●●●●●●

●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●

●●●●●●●●●●●●●●

●●●●● ●

0

●●●

●●●●●●●●●●●

●●●●●●●●●●●●●●●●●●●

●●●●●●●●●●●●●●●●●●●●●●

●●●●●●●●●●●●●●●●●●●●●

●●●●●●●●●●●●●●●●●

●●●●●

●●●●

●●●●●●●●●●

●●●●●●●●●●●●●●●●●●●

●●●●●●●●●●●●●●●●●●●●●●●●●●●

●●●●●●●●●●●●●●●●●●●●●●

●●●●●●●●●●●●●●

●●● ●

2

−2 −1 0 1 2

●●●

●●●●●●●

●●●●●●●●●●●●●●●●

●●●●●●●●●●●●●●●●●●●●●●

●●●●●●●●●●●●●●●●●●●●●●●●●●

●●●●●●●●●●●●●●●●●

●●●●●●

●●

●●●

●●●●●●●

●●●●●●●●●●●●●●●●

●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●

●●●●●●●●●●●●●●●●●●●●●●●

●●●●●●●●●●●●●●●

●●●● ●

4

●●●●●●●●●

●●●●●●●●●●●

●●●●●●●●●●●●●●●●●●●●●●●●

●●●●●●●●●●●●●●●●●●●●●●●●●●

●●●●●●●●●●●●●●●●●●●●

●●●●●●●●

● ●

●●●●

●●●●●●●●●●

●●●●●●●●●●●●●●●●●●●●●●●●

●●●●●●●●●●●●●●●●●●●●●●●●●●●●●

●●●●●●●●●●●●●●●●●●●●●

●●●●●●●●●●

● ●

6

−2 −1 0 1 2

●●●●●●

●●●●●●●●●

●●●●●●●●●●●●●●●●●●●●

●●●●●●●●●●●●●●●●●●●●●●●●●

●●●●●●●●●●●●●●●●●●●●●●●

●●●●●●●●●●●●●●●

●●

●●●●●●●

●●●●●●●●●●●●●●●●

●●●●●●●●●●●●●●●●●●●●●●●●●●●

●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●

●●●●●●●●●●●●●

● ●

8

3

4

5

6

7

8

●●●●●●●

●●●●●●●●●●●●●●

●●●●●●●●●●●●●●●●●●●●●●●●●●

●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●

●●●●●●●●●●●●●●●●●●●

●● ●

●●●●

●●●●●●●●●●

●●●●●●●●●●●●●●●●●●●●●●●●●●●

●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●

●●●●●●●●●●●●●●●●●●●●●●●

● ●

10

MF

34 / 89

Principios deR

lcollado

Inicio

Paquetes parahoy

SolucionEjercicios

Paquetes en R

lattice

plotrix

car

Ejercicios

Sigue . . .

Boxplots

Tambien podemos hacer diagramas de caja y brazos (boxplots)usando bwplot:

> print(bwplot(factor(score) ~ gcsescore |

+ gender, Chem97))

35 / 89

Principios deR

lcollado

Inicio

Paquetes parahoy

SolucionEjercicios

Paquetes en R

lattice

plotrix

car

Ejercicios

Sigue . . .

Boxplots

gcsescore

0

2

4

6

8

10

0 2 4 6 8

●●● ●●●●● ●●●● ● ●●●●●●● ●●●● ●●●●● ●● ●●●●●● ● ●● ●●●● ●●●

●● ● ●● ●●●● ●●●●●●●●●● ●●●●●●●● ●●●● ●●● ●●● ● ●

●● ●●● ●●●●●● ● ●●● ●●●●●●●●● ●●●●● ●●●●●●●●● ●●

● ●●● ●●● ●● ●● ●● ●●●● ●●● ●● ●●●●●● ●●●●●●●● ●● ●●●●●● ●●●●●●●●●●●●●●● ●●●●

●●●●●●●● ●● ●●●●●●●●●● ●● ●●● ●●●●●● ●●● ●●● ●●● ●●●● ●● ●●●●● ●●●●●●●● ●●●●● ●● ●●● ●●●●●●●●

● ●●● ●●●●●●●● ●●●●●●●●● ●● ●●●● ●● ● ●●● ●●●● ●● ●●● ●●●●●● ●●●●●●

M

0 2 4 6 8

●●●● ●●●●●●●●● ●● ●●●●●●●●● ● ●

●●●● ●● ●● ●●●●●●●●●● ●● ●● ●

●●● ●●● ●●●●●●●●● ●●● ● ●●●●● ●●●●

●● ●● ●●●● ●● ●●●● ●●● ●●●●●●●●●●●●●●●●●●●●● ●●●● ● ●●●● ● ●●●●● ●● ●●● ●

●● ●●●●● ●● ●●●●●● ●●●● ● ●●●●●●●●●●● ●●●●● ●● ● ●●●● ●●●● ●●●● ●●

●●●●● ●●● ● ●●●●●●●● ●●●●●●●●●● ●●●●●●● ● ●●●●●●●●●● ●●●●●●● ●●●●●●●●● ●●●● ●●●● ●●●● ●●●●●●●● ●

F

36 / 89

Principios deR

lcollado

Inicio

Paquetes parahoy

SolucionEjercicios

Paquetes en R

lattice

plotrix

car

Ejercicios

Sigue . . .

Boxplots II

¿Que cambia en esta segunda llamada a bwplot?¿Cual es mas informativa?

> print(bwplot(gcsescore ~ gender |

+ factor(score), Chem97, layout = c(6,

+ 1)))

37 / 89

Principios deR

lcollado

Inicio

Paquetes parahoy

SolucionEjercicios

Paquetes en R

lattice

plotrix

car

Ejercicios

Sigue . . .

Boxplots II

gcse

scor

e

0

2

4

6

8

M F

●●

●●●

●●

●●

●●

●●●

●●

●●

●●●

●●

●●●

●●

●●

●●

●●

●●●●●●●●

●●

●●●●●●

0

M F

●●

●●

●●

●●●

●●●●

●●●●●●

●●●●●

●●

●●

●●

●●

●●●●●

●●●●●●●●●

●●

2

M F

●●●●●

●●●

●●●●●●

●●●

●●●

●●●●●●

●●

●●

●●

●●

●●●●●●

●●

●●

●●●●

4

M F

●●

●●

●●

●●●●

●●

●●●

●●

●●

●●

●●

●●●●●●

●●●●●●●●●●

●●●

●●●●

●●

●●●

●●

●●●●●●●

●●●●●

●●●

●●●●●

●●●

●●

●●

●●

●●

6

M F

●●

●●●●●●

●●●●

●●●●●

●●

●●

●●●

●●

●●●

●●

●●

●●

●●●

●●●●●

●●

●●●●

●●●

●●●●

●●●

●●

●●

●●●●●

●●

●●●●●●●●

●●●

●●

●●

●●

●●

●●●

●●●

●●

8

M F

●●

●●

●●●●

●●

●●●●●●●●

●●

●●

●●

●●

●●

●●●●●

●●●●●

●●●●

●●

●●●●●●●

●●●●●●●●●

●●

●●●

●●●●●●●

●●●●●●

●●●●●●●

●●

●●●

●●

●●

●●●●●●●●

10

38 / 89

Principios deR

lcollado

Inicio

Paquetes parahoy

SolucionEjercicios

Paquetes en R

lattice

plotrix

car

Ejercicios

Sigue . . .

Stripplot

Otra funcion grafica util es la de stripplot.Es muy util para explorar rapidamente unos datos.

> library(DAAG)

> ais[1, ]

rcc wcc hc hg ferr bmi ssf1 3.96 7.5 37.5 12.3 60 20.56 109.1pcBfat lbm ht wt sex sport

1 19.75 63.32 195.9 78.9 f B_Ball

> print(stripplot(ht ~ factor(sport),

+ data = ais))

39 / 89

Principios deR

lcollado

Inicio

Paquetes parahoy

SolucionEjercicios

Paquetes en R

lattice

plotrix

car

Ejercicios

Sigue . . .

Stripplot

ht

150

160

170

180

190

200

210

B_Ball Field Gym Netball Row Swim T_400mT_SprntTennis W_Polo

●●

●●

●●●

●●

●●

●●

●●●●

●●

●●●

●●

●●●

●●●

●●

●●

●●

●● ●

●●

●●

●●

●●

●●●

●●

●●

●●●

●●

●●

●●

●●●

●●

●●●●

●●●

40 / 89

Principios deR

lcollado

Inicio

Paquetes parahoy

SolucionEjercicios

Paquetes en R

lattice

plotrix

car

Ejercicios

Sigue . . .

Stripplot II

� Ademas, es excelente para ejemplificar el argumento jitter:)

� ¿Que hace este argumento?

> print(stripplot(ht ~ factor(sport),

+ data = ais, jitter = T))

41 / 89

Principios deR

lcollado

Inicio

Paquetes parahoy

SolucionEjercicios

Paquetes en R

lattice

plotrix

car

Ejercicios

Sigue . . .

Stripplot II

ht

150

160

170

180

190

200

210

B_Ball Field Gym Netball Row Swim T_400mT_SprntTennis W_Polo

●●

●●

●●●

●●

●●

●●

●●

●●

●●

●●●

●●

●●●

●●●

●●

●●

●●

●●●

●●

●●

●●

●●

●●●

●●

●●

●●●

●●

●●

●●

●●●

●●

●●●

●●●

42 / 89

Principios deR

lcollado

Inicio

Paquetes parahoy

SolucionEjercicios

Paquetes en R

lattice

plotrix

car

Ejercicios

Sigue . . .

xyplot

� En lattice, la funcion madre2 es xyplot.

� Primero obtenemos un subconjunto de datos y luegousamos xyplot3:

> subset <- ais$sport %in% c("Netball",

+ "Tennis")

> print(xyplot(ht ~ wt | sport, groups = sex,

+ pch = c(4, 1), aspect = 1,

+ subset = subset, data = ais))

43 / 89

Principios deR

lcollado

Inicio

Paquetes parahoy

SolucionEjercicios

Paquetes en R

lattice

plotrix

car

Ejercicios

Sigue . . .

xyplot

wt

ht

160

170

180

190

50 60 70 80

Netball

50 60 70 80

●●

Tennis

2Es muy similar a plot.

3Noten que usamos el argumento subset.

44 / 89

Principios deR

lcollado

Inicio

Paquetes parahoy

SolucionEjercicios

Paquetes en R

lattice

plotrix

car

Ejercicios

Sigue . . .

xyplot II

¿Cuantas variables estamos viendo en la siguiente grafica?

> print(xyplot(ht ~ wt | sport, groups = sex,

+ pch = c(4, 1), aspect = 1,

+ auto.key = list(columns = 2),

+ subset = subset, data = ais))

45 / 89

Principios deR

lcollado

Inicio

Paquetes parahoy

SolucionEjercicios

Paquetes en R

lattice

plotrix

car

Ejercicios

Sigue . . .

xyplot II

wt

ht

160

170

180

190

50 60 70 80

Netball

50 60 70 80

●●

Tennis

f m● ●

46 / 89

Principios deR

lcollado

Inicio

Paquetes parahoy

SolucionEjercicios

Paquetes en R

lattice

plotrix

car

Ejercicios

Sigue . . .

xyplot B

Este es otro ejemplo con datos de temblores:

> data(Earthquake, package = "nlme")

> print(xyplot(accel ~ distance,

+ data = Earthquake))

47 / 89

Principios deR

lcollado

Inicio

Paquetes parahoy

SolucionEjercicios

Paquetes en R

lattice

plotrix

car

Ejercicios

Sigue . . .

xyplot B

distance

acce

l

0.0

0.2

0.4

0.6

0.8

0 100 200 300

●●

●●

●●

●●

●●

●●

●●

●●●

●●●

●●

●●

●●●

●●

●●

●●

●●●

●●

●● ●

●●

●●

●●

●● ●

●●

●●

●●●●

●●

●●

● ●

●● ● ●● ●

●●

● ●

●●●●● ●●●

●●

● ● ● ● ●

●●

● ●

48 / 89

Principios deR

lcollado

Inicio

Paquetes parahoy

SolucionEjercicios

Paquetes en R

lattice

plotrix

car

Ejercicios

Sigue . . .

xyplot B II

Esta segunda grafica, con los mismos datos, es mas complicadaporque estoy usando mas argumentos.

� ¿Que controla scales?

� ¿Que hace smooth en el argumento type?

> print(xyplot(accel ~ distance,

+ data = Earthquake, scales = list(log = TRUE),

+ type = c("p", "g", "smooth"),

+ xlab = "Distancia al Epicentro (km)",

+ ylab = "Maxima Aceleracion Horizontal (g)"))

49 / 89

Principios deR

lcollado

Inicio

Paquetes parahoy

SolucionEjercicios

Paquetes en R

lattice

plotrix

car

Ejercicios

Sigue . . .

xyplot B II

Distancia al Epicentro (km)

Máx

ima

Ace

lera

ción

Hor

izon

tal (

g)

10^−2.5

10^−2.0

10^−1.5

10^−1.0

10^−0.5

10^0.0

10^0.0 10^0.5 10^1.0 10^1.5 10^2.0 10^2.5

● ●●

● ●

●●

●●

●●

●●

●●

●●●

●●

● ●

● ● ●

●●

●● ●

●●

●●

●●

●●

●●

●●

●●

●●

● ●●●

●●

●●

●●

● ●

●●●

●●

●●

●●

● ●

50 / 89

Principios deR

lcollado

Inicio

Paquetes parahoy

SolucionEjercicios

Paquetes en R

lattice

plotrix

car

Ejercicios

Sigue . . .

Ahora en 3D!

� Lattice nos permite hacer graficas en 3D con la funcioncloud.

� Al igual que el resto de las graficas de R no es interactiva.

� Pero pueden hacer diferentes cambiando los valores de x ,y y z .

> print(cloud(depth ~ lat * long,

+ data = quakes, zlim = rev(range(quakes$depth)),

+ screen = list(z = 115, x = -60),

+ panel.aspect = 0.75, xlab = "Longitud",

+ ylab = "Latitud", zlab = "Profundidad"))

51 / 89

Principios deR

lcollado

Inicio

Paquetes parahoy

SolucionEjercicios

Paquetes en R

lattice

plotrix

car

Ejercicios

Sigue . . .

Ahora en 3D!

Longitud

Latitud

Profundidad

52 / 89

Principios deR

lcollado

Inicio

Paquetes parahoy

SolucionEjercicios

Paquetes en R

lattice

plotrix

car

Ejercicios

Sigue . . .

Fin Lattice

� Eso es todo lo que veremos de lattice, aunque hay masfunciones como barchart y dotplot.

� Una herramienta excelente para ver todas las graficas quese pueden hacer con un paquete es con la funciontestInstalledPackage:

> library(tools)

> testInstalledPackage(NombrePqt)

� Exploren paquetes como latticeExtra!

53 / 89

Principios deR

lcollado

Inicio

Paquetes parahoy

SolucionEjercicios

Paquetes en R

lattice

plotrix

car

Ejercicios

Sigue . . .

Intro

� Muchas funciones graficas!

� Excelente candidato para que usen la funcion queacabamos de ver :)

54 / 89

Principios deR

lcollado

Inicio

Paquetes parahoy

SolucionEjercicios

Paquetes en R

lattice

plotrix

car

Ejercicios

Sigue . . .

Barras y tabla

� Primero creamos el objeto df con datos :)

� Luego usamos barp para crear las barras.

� Finalmente agregamos la tabla de datos usandoaddtable2plot!

> set.seed(123)

> df <- data.frame(T0 = runif(3),

+ T1 = rnorm(3), T2 = rlnorm(3))

> df <- round(df, digits = 2)

> rownames(df) <- c("G1", "G2", "G3")

> df

T0 T1 T2G1 0.29 1.19 0.90G2 0.79 -1.69 0.89G3 0.41 1.24 1.20

55 / 89

Principios deR

lcollado

Inicio

Paquetes parahoy

SolucionEjercicios

Paquetes en R

lattice

plotrix

car

Ejercicios

Sigue . . .

Barras y tabla

> library(plotrix)

> barp(df, ylab = "Nivel de Expresion vs Control",

+ names.arg = colnames(df), col = 1:3)

> addtable2plot(0.45, -1, df, bty = "o",

+ display.rownames = TRUE, hlines = TRUE,

+ title = "Barras y tabla")

56 / 89

Principios deR

lcollado

Inicio

Paquetes parahoy

SolucionEjercicios

Paquetes en R

lattice

plotrix

car

Ejercicios

Sigue . . .

Barras y tabla

Niv

el d

e E

xpre

sión

vs

Con

trol

T0 T1 T2

−1.

5−

1−

0.5

00.

51

G1 0.29 1.19 0.9G2 0.79 −1.69 0.89G3 0.41 1.24 1.2

T0 T1 T2Barras y tabla

57 / 89

Principios deR

lcollado

Inicio

Paquetes parahoy

SolucionEjercicios

Paquetes en R

lattice

plotrix

car

Ejercicios

Sigue . . .

Brincos

� Con Plotrix podemos hacer graficas que se saltan(brincan) valores en un eje.

� Por ejemplo, con un brinco en el eje Y :

> data <- c(rnorm(8) + 3, rnorm(8) +

+ 21, rnorm(8) + 4.5, rnorm(8) +

+ 20)

> color <- c(rep(2, 8), rep(3, 8),

+ rep(4, 8), rep(1, 8))

> gap.plot(data, gap = c(8, 16),

+ xlab = "Index", ylab = "Valores",

+ main = "Salto en el eje Y",

+ col = color)

58 / 89

Principios deR

lcollado

Inicio

Paquetes parahoy

SolucionEjercicios

Paquetes en R

lattice

plotrix

car

Ejercicios

Sigue . . .

Brincos

●●

● ●

●●

Salto en el eje Y

Index

Val

ores

0 5 10 15 20 25 30

520 ●

●●

●●

●●

● ●

59 / 89

Principios deR

lcollado

Inicio

Paquetes parahoy

SolucionEjercicios

Paquetes en R

lattice

plotrix

car

Ejercicios

Sigue . . .

Un problema

¿Que problema tenemos con graficas como la siguiente?

> data <- c(rnorm(10), rnorm(10) +

+ 30)

> barplot(data, col = rainbow(20))

60 / 89

Principios deR

lcollado

Inicio

Paquetes parahoy

SolucionEjercicios

Paquetes en R

lattice

plotrix

car

Ejercicios

Sigue . . .

Un problema

05

1015

2025

30

61 / 89

Principios deR

lcollado

Inicio

Paquetes parahoy

SolucionEjercicios

Paquetes en R

lattice

plotrix

car

Ejercicios

Sigue . . .

Saltando barras :)

� Tambien podemos tener brincos con barras!

� Si sus datos estan partidos en unos muy chicos y otrosmuy grandes, este tipo de grafica es muy util paravisualizar todos!

� Hay un problema con los nombres en el eje Y ası quetengan cuidado.

> gap.barplot(data, gap = c(6, 25),

+ xlab = "Indice", ytics = c(1:30),

+ ylab = "Valores de los Grupos",

+ las = 2)

62 / 89

Principios deR

lcollado

Inicio

Paquetes parahoy

SolucionEjercicios

Paquetes en R

lattice

plotrix

car

Ejercicios

Sigue . . .

Saltando barras :)

Índice

Val

ores

de

los

Gru

pos

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20

12345

63 / 89

Principios deR

lcollado

Inicio

Paquetes parahoy

SolucionEjercicios

Paquetes en R

lattice

plotrix

car

Ejercicios

Sigue . . .

Con barras para los errores

� Como muchos experimentos se hacen con replicas, seguidovemos graficas con las barras para los errores.

� Usando dispersion podemos hacer graficas que muestren elerror estandar:

> data <- matrix(rnorm(100), 10,

+ 10)

> a <- colMeans(data)

> b <- std.error(data)

> plot(a, ylim = c(min(a - b), max(a +

+ b)), xlab = "Muestras o Condiciones",

+ ylab = "Valores", col = 4,

+ type = "o")

> dispersion(1:10, colMeans(data),

+ b)

64 / 89

Principios deR

lcollado

Inicio

Paquetes parahoy

SolucionEjercicios

Paquetes en R

lattice

plotrix

car

Ejercicios

Sigue . . .

Con barras para los errores

● ●

2 4 6 8 10

−0.

6−

0.2

0.2

0.4

0.6

Muestras o Condiciones

Val

ores

65 / 89

Principios deR

lcollado

Inicio

Paquetes parahoy

SolucionEjercicios

Paquetes en R

lattice

plotrix

car

Ejercicios

Sigue . . .

Ahora on datos reales

� Ahora vamos a usar datos de este artıculo. Es el de lasecuencia de un coreano.

� Leamos unas tablas en formato csv que ya habıapreparado.> t1 <- read.csv("http://www.lcg.unam.mx/~lcollado/B/data/SuppTable01_kogenome6_double_end-clone_1132_742.csv",

+ header = T)

> t2 <- read.csv("http://www.lcg.unam.mx/~lcollado/B/data/SuppTable06_nsSnp_AK1.csv",

+ header = T)

� Usen head, dim, class para aprender mas de los datos.

66 / 89

Principios deR

lcollado

Inicio

Paquetes parahoy

SolucionEjercicios

Paquetes en R

lattice

plotrix

car

Ejercicios

Sigue . . .

plotCI

� Ademas de dispersion podemos usar la funcion plotCIpara graficar los puntos con los errores.

� Vamos a usar tapply para encontrar la media del tamanode los BACs por cromosoma y lo mismo para el errorestandar.

> means <- tapply(t1$bac_size, t1$chrNo,

+ mean)

> err <- tapply(t1$bac_size, t1$chrNo,

+ std.error)

> plotCI(1:24, means, err, col = "red",

+ scol = "blue", las = 2, main = "Tama~no de BACs por cromosoma")

67 / 89

Principios deR

lcollado

Inicio

Paquetes parahoy

SolucionEjercicios

Paquetes en R

lattice

plotrix

car

Ejercicios

Sigue . . .

plotCI

5 10 15 20

95000

100000

105000

110000

115000

120000

125000

Tamaño de BACs por cromosoma

1:24

mea

ns

● ●●

● ●

●●

● ●

68 / 89

Principios deR

lcollado

Inicio

Paquetes parahoy

SolucionEjercicios

Paquetes en R

lattice

plotrix

car

Ejercicios

Sigue . . .

Para visualizar matrices

� Con color2D.matplot podemos visualizar una matriz4

> mat <- matrix(rnorm(100, 0, 2),

+ 10, 10)

> color2D.matplot(mat, show.legend = T)

69 / 89

Principios deR

lcollado

Inicio

Paquetes parahoy

SolucionEjercicios

Paquetes en R

lattice

plotrix

car

Ejercicios

Sigue . . .

Para visualizar matrices

Column

Row

2 4 6 8 10

108

64

2

−4.91 4.73

4Una funcion similar de R basico es image.

70 / 89

Principios deR

lcollado

Inicio

Paquetes parahoy

SolucionEjercicios

Paquetes en R

lattice

plotrix

car

Ejercicios

Sigue . . .

Dos escalas

� Algunas veces estas midiendo dos variables para unconjunto de muestras. Estas variables pueden tener escalasmuy diferentes.

� Por eso usamos twoord.plot para visualizar las dosvariables :)

> twoord.plot(2:10, seq(3, 7, by = 0.5) +

+ rnorm(9), 1:15, rev(60:74) +

+ rnorm(15), xlab = "Muestras",

+ ylab = "Valores Var 1", rylab = "Valores Var 2",

+ main = "Grafica con dos escalas (puntos y lıneas)")

71 / 89

Principios deR

lcollado

Inicio

Paquetes parahoy

SolucionEjercicios

Paquetes en R

lattice

plotrix

car

Ejercicios

Sigue . . .

Dos escalas

● ●

●●

●●

Gráfica con dos escalas (puntos y líneas)

Muestras

Val

ores

Var

1

2 4 6 8 10 12 14

2.5

33.

54

4.5

55.

56

Gráfica con dos escalas (puntos y líneas)

6062

6466

6870

7274

Val

ores

Var

2

72 / 89

Principios deR

lcollado

Inicio

Paquetes parahoy

SolucionEjercicios

Paquetes en R

lattice

plotrix

car

Ejercicios

Sigue . . .

Zoom

� Otra funcion grafica que me gusto es zoomInPlot paravisualizar un conjunto de datos y un subconjuntointeresante.

> zoomInPlot(rnorm(100), rnorm(100),

+ rxlim = c(-1, 1), rylim = c(-1,

+ 1))

73 / 89

Principios deR

lcollado

Inicio

Paquetes parahoy

SolucionEjercicios

Paquetes en R

lattice

plotrix

car

Ejercicios

Sigue . . .

Zoom

● ●

●●

●●

●●

●●

●●

●●

●●

●●

● ●

●●

●●

●●

−2 0 1 2

−2

−1

01

2

x

y

●●

●●

●●

●●

● ●

●●

●●

−1.0 0.0 0.5 1.0

−1.

0−

0.5

0.0

0.5

1.0

x

y

74 / 89

Principios deR

lcollado

Inicio

Paquetes parahoy

SolucionEjercicios

Paquetes en R

lattice

plotrix

car

Ejercicios

Sigue . . .

Histograma calibrado

� Para terminar con Plotrix, usaremos weighted.hist.

� Es util para calibrar una variable con otra. A esta segundavar se le llama el peso.

� Primero hagamos un histograma de nuestra variable x :

> x <- sample(1:15, 300, TRUE)

> hist(x, col = "light blue")

75 / 89

Principios deR

lcollado

Inicio

Paquetes parahoy

SolucionEjercicios

Paquetes en R

lattice

plotrix

car

Ejercicios

Sigue . . .

Histograma calibrado

Histogram of x

x

Fre

quen

cy

2 4 6 8 10 12 14

05

1015

2025

3035

76 / 89

Principios deR

lcollado

Inicio

Paquetes parahoy

SolucionEjercicios

Paquetes en R

lattice

plotrix

car

Ejercicios

Sigue . . .

Histograma calibrado II

Ahora veamos el histograma de la variable peso.

> peso <- sample(1:100, 300, TRUE)

> hist(peso, col = "light blue")

77 / 89

Principios deR

lcollado

Inicio

Paquetes parahoy

SolucionEjercicios

Paquetes en R

lattice

plotrix

car

Ejercicios

Sigue . . .

Histograma calibrado II

Histogram of peso

peso

Fre

quen

cy

0 20 40 60 80 100

010

2030

40

78 / 89

Principios deR

lcollado

Inicio

Paquetes parahoy

SolucionEjercicios

Paquetes en R

lattice

plotrix

car

Ejercicios

Sigue . . .

Histograma calibrado III

Juntemos las variables usando un histograma calibrado:

> weighted.hist(x, peso, breaks = 1:15,

+ main = "Histograma de x calibrado con peso",

+ col = "light blue")

79 / 89

Principios deR

lcollado

Inicio

Paquetes parahoy

SolucionEjercicios

Paquetes en R

lattice

plotrix

car

Ejercicios

Sigue . . .

Histograma calibrado III

Histograma de x calibrado con pesoF

requ

ency

050

010

0015

0020

00

1 2 3 4 5 6 7 8 9 10 12 14

80 / 89

Principios deR

lcollado

Inicio

Paquetes parahoy

SolucionEjercicios

Paquetes en R

lattice

plotrix

car

Ejercicios

Sigue . . .

Intro

� Este es el ultimo paquete grafico que veremos.

� Acuerdense de explorar todos los ejemplos usando. . . ¿Como se llama la funcion?

81 / 89

Principios deR

lcollado

Inicio

Paquetes parahoy

SolucionEjercicios

Paquetes en R

lattice

plotrix

car

Ejercicios

Sigue . . .

scatterplot.matrix

� Cuando tienes tres5 variables, la forma tradicional es haceruna grafica con un cuadro con var1 vs var2, otro de var1vs var3 y otro de var2 vs var3. A este tipo de grafica se lellama un scatterplot.

� Para aprender la forma tradicional les recomiendo lasiguiente practica. Esta excelente!

� Con plotrix podemos hacer un scatterplot aun mascompleto usando scatterplot.matrix:

> library(car)

> scatterplot.matrix(~income + education +

+ prestige | type, data = Duncan)

82 / 89

Principios deR

lcollado

Inicio

Paquetes parahoy

SolucionEjercicios

Paquetes en R

lattice

plotrix

car

Ejercicios

Sigue . . .

scatterplot.matrix

| | || || | || || ||| | || || || | ||| | ||| ||| || ||||| || || ||

income

20 40 60 80 100

● ●●●

●● ●

2040

6080

● ●●●

●●●

2040

6080

●●

●●

●●

●●

●●

●●

●●

|| |||| | |||| ||| || | || ||| ||| || || | || ||| | ||| | ||| ||

education

●●

●●

●●

●●

●●

●●

●●

20 40 60 80

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

0 20 40 60 80 100

020

4060

80

|| || || ||| || | || || | || ||| || | | ||| || | || | |||| || || ||

prestige● bc

prof

wc

5O mas.

83 / 89

Principios deR

lcollado

Inicio

Paquetes parahoy

SolucionEjercicios

Paquetes en R

lattice

plotrix

car

Ejercicios

Sigue . . .

scatterplot

� Chequen la ayuda de esa funcion porque hay variasopciones a parte de graficas de densidad para los cuadrosde var1 vs var1.

� Sin embargo, una funcion grafica que me encanto esscatterplot.

� Con esta podemos agregar boxplots en los ejes! :D

� Tambien nos agrega regresiones lineales para cada grupode nuestros datos :)

> scatterplot(prestige ~ income |

+ type, data = Prestige, span = 1)

84 / 89

Principios deR

lcollado

Inicio

Paquetes parahoy

SolucionEjercicios

Paquetes en R

lattice

plotrix

car

Ejercicios

Sigue . . .

scatterplot

●● ●● ●

5000 10000 15000 20000 25000

2030

4050

6070

80

income

pres

tige

●●

●●

● ●

●●

type

bcprofwc

85 / 89

Principios deR

lcollado

Inicio

Paquetes parahoy

SolucionEjercicios

Paquetes en R

lattice

plotrix

car

Ejercicios

Sigue . . .

Ejercicios

1 Usando el objeto t2, hagan una grafica de densidad de lavariable position para cada cromosoma.

2 Usando los datos de los cromosomas X y Y 6 del objeto t2,hagan una grafica de densidad para la variable positiondonde agrupen los datos por el variable reference.allele.Ademas, para cada cromosoma separen los datos por lavariable AK1.allele. Van a tener que checar bien la ayudade densityplot7. Su grafica al final debe tener 8 paneles.

3 Usando el objeto t2 hagan una grafica donde veamos lamedia de la variable position y su error estandar porcromosoma. En total van a ser 24 puntos con sus barrasde error. Les mostre un ejemplo muy similar en la clasecon el objeto t1.

6El argumento subset va a ser util para esto.

7La clave esta en la sintaxis de formula.

86 / 89

Principios deR

lcollado

Inicio

Paquetes parahoy

SolucionEjercicios

Paquetes en R

lattice

plotrix

car

Ejercicios

Sigue . . .

Si quieren mas

� Los cursos que he dado en la LCG estan en lınea:

1 www.lcg.unam.mx/~lcollado/E/2 www.lcg.unam.mx/~lcollado/R/3 www.lcg.unam.mx/~lcollado/B/

� Hay varios libros y sitios de interes :)Estan en las secciones de material de apoyo.

� Fin de Principios de R!8

� Vero continuara con UNIX :)

8Las soluciones a los ejercicios se las doy el proximo miercoles. Ası que tienen tarea ;)

87 / 89

Principios deR

lcollado

Inicio

Paquetes parahoy

SolucionEjercicios

Paquetes en R

lattice

plotrix

car

Ejercicios

Sigue . . .

sessionInfo

Informacion de mi sesion:> sessionInfo()

R version 2.10.0 (2009-10-26)

i686-pc-linux-gnu

locale:

[1] LC_CTYPE=en_US.UTF-8

[2] LC_NUMERIC=C

[3] LC_TIME=en_US.UTF-8

[4] LC_COLLATE=en_US.UTF-8

[5] LC_MONETARY=C

[6] LC_MESSAGES=en_US.UTF-8

[7] LC_PAPER=en_US.UTF-8

[8] LC_NAME=C

[9] LC_ADDRESS=C

[10] LC_TELEPHONE=C

[11] LC_MEASUREMENT=en_US.UTF-8

[12] LC_IDENTIFICATION=C

attached base packages:

[1] stats graphics grDevices

88 / 89

Principios deR

lcollado

Inicio

Paquetes parahoy

SolucionEjercicios

Paquetes en R

lattice

plotrix

car

Ejercicios

Sigue . . .

sessionInfo

[4] utils datasets methods

[7] base

other attached packages:

[1] car_1.2-16

[2] plotrix_2.7-2

[3] DAAG_1.00

[4] randomForest_4.5-33

[5] rpart_3.1-45

[6] MASS_7.3-3

[7] lattice_0.17-26

loaded via a namespace (and not attached):

[1] grid_2.10.0 tools_2.10.0

89 / 89