M. Vargas Jim enez 2012/02/11 - UGRmvargas/eccttTema2.pdf · 2012. 5. 8. · ecdf(x) x Fn(x) l l l...

54
Estad ´ ıstica para las Ciencias del Trabajo M. Vargas Jim´ enez 2012/02/11

Transcript of M. Vargas Jim enez 2012/02/11 - UGRmvargas/eccttTema2.pdf · 2012. 5. 8. · ecdf(x) x Fn(x) l l l...

Page 1: M. Vargas Jim enez 2012/02/11 - UGRmvargas/eccttTema2.pdf · 2012. 5. 8. · ecdf(x) x Fn(x) l l l l l l l l l l l l l l l l l l l l Otros resum enes de las variable IQR(x) Calcula

Estadıstica para las Ciencias del Trabajo

M. Vargas Jimenez

2012/02/11

Page 2: M. Vargas Jim enez 2012/02/11 - UGRmvargas/eccttTema2.pdf · 2012. 5. 8. · ecdf(x) x Fn(x) l l l l l l l l l l l l l l l l l l l l Otros resum enes de las variable IQR(x) Calcula
Page 3: M. Vargas Jim enez 2012/02/11 - UGRmvargas/eccttTema2.pdf · 2012. 5. 8. · ecdf(x) x Fn(x) l l l l l l l l l l l l l l l l l l l l Otros resum enes de las variable IQR(x) Calcula

Indice general

2. Examen Exploratorio de los datos. Estadısticos univariantes.Distribuciones de probabilidad. Analisis de tablas de contin-gencia, tablas multidimensionales. Implementacion con R 52.1. Funciones estadısticas R mas frecuentes . . . . . . . . . . . . . 5

2.1.1. Resumen de una variable . . . . . . . . . . . . . . . . . 52.1.2. Generacion de variables con ave() . . . . . . . . . . . . 82.1.3. Correlacion entre variables . . . . . . . . . . . . . . . . 9

2.2. Distribuciones de modelos de probabilidad . . . . . . . . . . . 92.2.1. Funciones para las distribuciones ... . . . . . . . . . . . 102.2.2. Muestreo y generacion de valores... . . . . . . . . . . . 11

2.3. Construccion y manipulacion de tablas . . . . . . . . . . . . . 132.3.1. Creacion de una tabla a partir ... . . . . . . . . . . . . 132.3.2. Presentacion de tablas en frecuencias ... . . . . . . . . . 142.3.3. Adicion de marginales a una tabla... . . . . . . . . . . 152.3.4. Calculo de frecuencias condicionadas... . . . . . . . . . 162.3.5. Conversion de tabla en data.frame . . . . . . . . . . . . 182.3.6. Creacion de tablas a partir... . . . . . . . . . . . . . . . 192.3.7. Tablas de mas de 2 dimensiones . . . . . . . . . . . . . 222.3.8. Test de independencia chi-cuadrado... . . . . . . . . . . 29

2.4. Graficos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 312.4.1. Grafico de barras . . . . . . . . . . . . . . . . . . . . . 312.4.2. Histograma . . . . . . . . . . . . . . . . . . . . . . . . 352.4.3. Grafico caja . . . . . . . . . . . . . . . . . . . . . . . . 392.4.4. Grafico de sectores . . . . . . . . . . . . . . . . . . . . 412.4.5. Grafico de tallo y hojas . . . . . . . . . . . . . . . . . . 422.4.6. Otros graficos y opciones graficas . . . . . . . . . . . . 432.4.7. Division del dispositivo de ... . . . . . . . . . . . . . . . 492.4.8. Graficos para cuantiles de... . . . . . . . . . . . . . . . 512.4.9. Guardar grafico corriente en... . . . . . . . . . . . . . . 522.4.10. Graficos con el paquete lattice . . . . . . . . . . . . . . 52

3

Page 4: M. Vargas Jim enez 2012/02/11 - UGRmvargas/eccttTema2.pdf · 2012. 5. 8. · ecdf(x) x Fn(x) l l l l l l l l l l l l l l l l l l l l Otros resum enes de las variable IQR(x) Calcula

4 INDICE GENERAL

2.4.11. Graficos para datos multivariantes . . . . . . . . . . . . 53

Page 5: M. Vargas Jim enez 2012/02/11 - UGRmvargas/eccttTema2.pdf · 2012. 5. 8. · ecdf(x) x Fn(x) l l l l l l l l l l l l l l l l l l l l Otros resum enes de las variable IQR(x) Calcula

Capıtulo 2

Examen Exploratorio de losdatos. Estadısticosunivariantes. Distribuciones deprobabilidad. Analisis de tablasde contingencia, tablasmultidimensionales.Implementacion con R

2.1. Funciones estadısticas R mas frecuentes

quantile(),ave(), cor(), median(), mean(), var(), sd(), range(), summary()

Recordaremos las tecnicas estadısticas descriptivas aplicandolas con R.Ası mismo usaremos los modelos de de probabilidad mas populares paradeterminar cuantiles y probabilidades. En las tablas de contingencia veremosejemplos de contrastes chi-cuadrado y calculo de candicionadas y marginales.Manejaremos tablas multidimensionales con R mediante ejemplos, donde sedeterminara si existe o no asociacion entre pares de variables.

2.1.1. Resumen de una variable

5

Page 6: M. Vargas Jim enez 2012/02/11 - UGRmvargas/eccttTema2.pdf · 2012. 5. 8. · ecdf(x) x Fn(x) l l l l l l l l l l l l l l l l l l l l Otros resum enes de las variable IQR(x) Calcula

6CAPITULO 2. EXAMEN EXPLORATORIO DE LOS DATOS. ESTADISTICOS UNIVARIANTES. DISTRIBUCIONES DE PROBABILIDAD. ANALISIS DE TABLAS DE CONTINGENCIA, TABLAS MULTIDIMENSIONALES. IMPLEMENTACION CON R

Podemos realizar resumenes de variables mediante valores numerıcos, ta-blas y graficos.

Resumen numerico de la variable cuantitativa x

summary(variable)Ejemplo

> x=1:10

> summary(x) # Resumen numerico de la variable cuantitativa x

Min. 1st Qu. Median Mean 3rd Qu. Max.

1.00 3.25 5.50 5.50 7.75 10.00

Cuantiles de una variable

quantile(variable) permite determinar cuantiles de orden dado.quantile(Variable, vector con ordenes de los cuantiles)Ejemplo

> x=1:40

> ordencuan=seq(0.1,0.9,0.1) # genera un vector con el orden de los cuantiles

> quantile(x,ordencuan) #cuantiles de la variable x

10% 20% 30% 40% 50% 60% 70% 80% 90%

4.9 8.8 12.7 16.6 20.5 24.4 28.3 32.2 36.1

Agrupacion de variable en intervalos

cut(var, br=n1) Agrupa var en n1 clases o intervalos.Genera una variable de la misma longitud que var, pero cuyos valores son

intervalos de clases, obtenidos al dividir los valores de var en n1 intervalos.

Page 7: M. Vargas Jim enez 2012/02/11 - UGRmvargas/eccttTema2.pdf · 2012. 5. 8. · ecdf(x) x Fn(x) l l l l l l l l l l l l l l l l l l l l Otros resum enes de las variable IQR(x) Calcula

2.1. FUNCIONES ESTADISTICAS R MAS FRECUENTES 7

Ejemplo

> x=50:55

> length(x) #longitud de la variable

[1] 6

> nx=cut(x, br=2)

> length(nx)

[1] 6

> nx

[1] (50,52.5] (50,52.5] (50,52.5] (52.5,55] (52.5,55] (52.5,55]

Levels: (50,52.5] (52.5,55]

> table(nx)

nx

(50,52.5] (52.5,55]

3 3

Curva acumulativa

ecdf(var) curva acumlativa de variable var

> x=rnorm(20)

> plot(ecdf(x))

Page 8: M. Vargas Jim enez 2012/02/11 - UGRmvargas/eccttTema2.pdf · 2012. 5. 8. · ecdf(x) x Fn(x) l l l l l l l l l l l l l l l l l l l l Otros resum enes de las variable IQR(x) Calcula

8CAPITULO 2. EXAMEN EXPLORATORIO DE LOS DATOS. ESTADISTICOS UNIVARIANTES. DISTRIBUCIONES DE PROBABILIDAD. ANALISIS DE TABLAS DE CONTINGENCIA, TABLAS MULTIDIMENSIONALES. IMPLEMENTACION CON R

−3 −2 −1 0 1

0.0

0.2

0.4

0.6

0.8

1.0

ecdf(x)

x

Fn(

x)

Otros resumenes de las variable

IQR(x) Calcula el rango intercuartılico del vector x

max(var) Calcula el maximo de var

mean(var) Calcula la media de un vector o para varias variables de undata frame

median(var) Calcula la mediana de un vector o para varias variables deun data frame

min(var) Calcula el mınimo de var

scale(var) estandariza la variable var

stem(var) grafico de tallo y hojas de la variable var

2.1.2. Generacion de variables con ave()

ave(variable, factor, funcion)

Page 9: M. Vargas Jim enez 2012/02/11 - UGRmvargas/eccttTema2.pdf · 2012. 5. 8. · ecdf(x) x Fn(x) l l l l l l l l l l l l l l l l l l l l Otros resum enes de las variable IQR(x) Calcula

2.2. DISTRIBUCIONES DE MODELOS DE PROBABILIDAD 9

ave(var, factor1, factor2,..., FUN= funcion) Genera una variable de lamisma longitud que var que contiene el resultado de calcular una funcion,como por ejemplo media, mediana, mın, max, etc., para la variable var, enlos subgrupos formados por las combinaciones de los factores.

EjemploGenera una variable de la misma longitud de Edad que contiene medias

de los grupos formados con el factor Sexo.

> dtf

Edad Sexo

1 20 m

2 25 m

3 30 m

4 28 m

5 40 h

6 50 h

> ave(dtf$Edad,dtf$Sexo,mean(dtf$Edad))

[1] 25.75 25.75 25.75 25.75 45.00 45.00

2.1.3. Correlacion entre variables

cor(x,y) Determina la correlacion entre los vectores x e y. O matrices x ey

cor(dataframeomatriz) Determina las correlaciones entre las variables deldata frame o matriz

2.2. Distribuciones de modelos de probabili-

dad

Page 10: M. Vargas Jim enez 2012/02/11 - UGRmvargas/eccttTema2.pdf · 2012. 5. 8. · ecdf(x) x Fn(x) l l l l l l l l l l l l l l l l l l l l Otros resum enes de las variable IQR(x) Calcula

10CAPITULO 2. EXAMEN EXPLORATORIO DE LOS DATOS. ESTADISTICOS UNIVARIANTES. DISTRIBUCIONES DE PROBABILIDAD. ANALISIS DE TABLAS DE CONTINGENCIA, TABLAS MULTIDIMENSIONALES. IMPLEMENTACION CON R

2.2.1. Funciones para las distribuciones de modelos de

probabilidad

Normal norm(), binomial binom(), poison pois(), uniforme unif(), expo-nencial exp(), t de Student (t), Chi-cuadrado chisq(), etc.

Un modelo de probabilidad de una variable aleatoria tendra informacionsobre:

Funcion de densidad o probabilidad (dnormal, dbinom, dunif, dpois,...)

Funcion de distribucion (pnormal, punif,...)

Cuantiles (qnormal, qpois, qunif,...)

Generacion aleatoria de muestras (rnomal, rpois, ...)

Para seleccionar estas funciones se toma el nombre del modelo precedidode las letas d, p, q y r.

dnombremodelo determina la funcion de densidad, f(x), para un valorx de la variable

pnombremodelo permite obtener p[X <x] para un valor de x. Si elargumento lower.tail=F calcula la probabilidad del suceso contrario(cola a la derecha)

qnombremodelo determina el cuantil de un orden p

rnombremodelo selecciona una muestra aleatoria del modelo.

Por ejemplo, para modelo binomial los argumentos size y prob son numerode pruebas y probabilidad de exito, respectivamente:

dbinom(x, size, prob,...)pbinom(q, size, prob, lower.tail = TRUE,...)qbinom(p, size, prob, lower.tail = TRUE,...)rbinom(n, size, prob, lower.tail = TRUE,...) El parametro n es el tamano

de muestraEjemplopbinom(14,20,0.4) determina la probabilidad de ser menor o igual a 14 en

B(20,0.4)

> pbinom(14,20,0.4)

Page 11: M. Vargas Jim enez 2012/02/11 - UGRmvargas/eccttTema2.pdf · 2012. 5. 8. · ecdf(x) x Fn(x) l l l l l l l l l l l l l l l l l l l l Otros resum enes de las variable IQR(x) Calcula

2.2. DISTRIBUCIONES DE MODELOS DE PROBABILIDAD 11

[1] 0.9983885

EjemploCalculo de cuantiles de la distribucion N(0,1)

> ordencuan=seq(0.1,0.8,0.2)

> qnorm(ordencuan,0,1) #cuantiles de la distribucion N(0,1)

[1] -1.2815516 -0.5244005 0.0000000 0.5244005

> qnorm(c(0.25,0.5,0.75),50,10)#cuantiles de la distribucion N(50,10)

[1] 43.2551 50.0000 56.7449

2.2.2. Muestreo y generacion de valores aleatorios

sample(), runif(),rbinom(), rnorm(),...Seleccion de una muestra al azar:

sample(Vector de donde se selecciona, numero de selecciones, repla-ce=T)

Ejemplo

> sample(0:10,20,replace=T)

[1] 7 8 6 7 6 6 3 7 3 1 6 5 5 3 0 7 2 2 1 1

Ejemplo

Selecciona 10 valores de una variable X con distribucion de probabilidaddiscreta que toma los valores 1 a 3 con las siguientes probabilidadesProb(X=1)=0.7; Prob(X=2)=0.2 y Prob(X=3)=0.1

> sample(1 :3,10,prob=c(0.7,0.2,0.1),replace=T)

Page 12: M. Vargas Jim enez 2012/02/11 - UGRmvargas/eccttTema2.pdf · 2012. 5. 8. · ecdf(x) x Fn(x) l l l l l l l l l l l l l l l l l l l l Otros resum enes de las variable IQR(x) Calcula

12CAPITULO 2. EXAMEN EXPLORATORIO DE LOS DATOS. ESTADISTICOS UNIVARIANTES. DISTRIBUCIONES DE PROBABILIDAD. ANALISIS DE TABLAS DE CONTINGENCIA, TABLAS MULTIDIMENSIONALES. IMPLEMENTACION CON R

[1] 3 1 1 2 1 1 2 1 1 1

Seleccion de una distribucion uniforme.

El generador pseudo-aleatorio uniforme de numeros en R es runif().

Ejemplo

> runif(5) # selecciona 5 numeros reales entre 0 y 1

[1] 0.58219317 0.34036438 0.09576015 0.34157619 0.15305337

> matrix(runif(3*5),3,5) # construye una matriz con 15

[,1] [,2] [,3] [,4] [,5]

[1,] 0.07370804 0.6969644 0.8037797 0.91621709 0.9520561

[2,] 0.54000635 0.9299076 0.6766586 0.76783546 0.4223230

[3,] 0.58405985 0.7815784 0.3633767 0.08357606 0.1984924

> # num reales entre 0 y 1

Ejemplo

runif(10,20,30) 10 numeros reales de distribucion uniforme en intervalo(20,30)

Seleccion de un modelo normal

Ejemplo

> x=rnorm(100,20,4) #muestra de 100 valores de la N(20,4)

> rnorm(3,4,1) # 3 valores de la distribucion N(4,1)

[1] 4.336644 4.235742 5.141477

Seleccion de una distribucion binomial

Ejemplo

Generacion de una muestra de la distribucion normal

Page 13: M. Vargas Jim enez 2012/02/11 - UGRmvargas/eccttTema2.pdf · 2012. 5. 8. · ecdf(x) x Fn(x) l l l l l l l l l l l l l l l l l l l l Otros resum enes de las variable IQR(x) Calcula

2.3. CONSTRUCCION Y MANIPULACION DE TABLAS 13

> rbinom(5,10,0.5)# 5 valores de la distribucion B(0.5,10)

[1] 4 2 4 6 5

2.3. Construccion y manipulacion de tablas

Funciones usadas con tablas:

table(), ftable(), addmargins(), prop.table(), xtabs(), data.frame(), mar-gin.table(), chisq.test(), summary()

2.3.1. Creacion de una tabla a partir de datos sin ta-

bular

La funcion table() permite construir tablas a partir de vectores o da-ta.frames. Unidimensionales y multidimensionales. En frecuencias absolutas.

Ejemplo

Tablas de frecuencias unidimensionales para las variables o vectores x e y

> x=sample(1:5,200,replace=T)# vector de longitud 200 con valores de 1 a 5

> table(x)

x

1 2 3 4 5

34 38 52 34 42

> # vector de longitud 10 de caracteres

> y=c("h","h","h","m","m","h","h","m","m","h")

> table(y)

Page 14: M. Vargas Jim enez 2012/02/11 - UGRmvargas/eccttTema2.pdf · 2012. 5. 8. · ecdf(x) x Fn(x) l l l l l l l l l l l l l l l l l l l l Otros resum enes de las variable IQR(x) Calcula

14CAPITULO 2. EXAMEN EXPLORATORIO DE LOS DATOS. ESTADISTICOS UNIVARIANTES. DISTRIBUCIONES DE PROBABILIDAD. ANALISIS DE TABLAS DE CONTINGENCIA, TABLAS MULTIDIMENSIONALES. IMPLEMENTACION CON R

y

h m

6 4

2.3.2. Presentacion de tablas en frecuencias relativas

La funcion prop.table() permite expresar tablas dadas en frecuecias ab-solutas, a frecuencias relativas. Unidimensionales o multidimensionales.

La funcion ftable() permite expresar tablas de 2 o mas dimensiones en unformato de mejor presentacion que table. Tambien crear tablas con 2 o masvectores o data.frames.

Ejemplo Tabla unidimensional en frecuencias relativas y tabla de frecuen-cias bidimensional para las variables o vectores x e y

> # Tabla unidimensional en frecuencias absolutas

> x=sample(1:3,200,replace=T)# vector de longitud 200 con valores de 1 a 3

> t=table(x)

> t

x

1 2 3

77 66 57

> # Tabla en frecuencias relativas

> prop.table(t)

x

1 2 3

0.385 0.330 0.285

Page 15: M. Vargas Jim enez 2012/02/11 - UGRmvargas/eccttTema2.pdf · 2012. 5. 8. · ecdf(x) x Fn(x) l l l l l l l l l l l l l l l l l l l l Otros resum enes de las variable IQR(x) Calcula

2.3. CONSTRUCCION Y MANIPULACION DE TABLAS 15

> # vector de longitud 200 de caracteres

> y=sample(c("h","m"),200,replace=T)

> t2=table(x,y)

> t2

y

x h m

1 41 36

2 34 32

3 27 30

> ftable(t2) # Una formato mejorado

y h m

x

1 41 36

2 34 32

3 27 30

2.3.3. Adicion de marginales a una tabla de contingen-

cia

La funcion addmargins() permite anadir columnas y filas marginales a latabla.

Ejemplo

> t2

Page 16: M. Vargas Jim enez 2012/02/11 - UGRmvargas/eccttTema2.pdf · 2012. 5. 8. · ecdf(x) x Fn(x) l l l l l l l l l l l l l l l l l l l l Otros resum enes de las variable IQR(x) Calcula

16CAPITULO 2. EXAMEN EXPLORATORIO DE LOS DATOS. ESTADISTICOS UNIVARIANTES. DISTRIBUCIONES DE PROBABILIDAD. ANALISIS DE TABLAS DE CONTINGENCIA, TABLAS MULTIDIMENSIONALES. IMPLEMENTACION CON R

y

x h m

1 41 36

2 34 32

3 27 30

> addmargins(t2)# A~nade columna y fila marginal

y

x h m Sum

1 41 36 77

2 34 32 66

3 27 30 57

Sum 102 98 200

> # addmargins(t2,1) a~nade solo fila marginal

> # addmargins(t2,2) a~nade solo columna marginal

2.3.4. Calculo de frecuencias condicionadas en la tabla

La funcion prop.table() permite dividir por totales fila, totales colum-na o totales capas en tablas de mas de 2 dimensiones, permitiendo obtenerdistribuciones en distintas condiciones.

Ejemplo

> t2

y

x h m

Page 17: M. Vargas Jim enez 2012/02/11 - UGRmvargas/eccttTema2.pdf · 2012. 5. 8. · ecdf(x) x Fn(x) l l l l l l l l l l l l l l l l l l l l Otros resum enes de las variable IQR(x) Calcula

2.3. CONSTRUCCION Y MANIPULACION DE TABLAS 17

1 41 36

2 34 32

3 27 30

> # Distribuciones condicionadas

> # Frecuencias relativas dividiento por totales de fila

> prop.table(t2,1)

y

x h m

1 0.5324675 0.4675325

2 0.5151515 0.4848485

3 0.4736842 0.5263158

> pt2=prop.table(t2,1)

> round(addmargins(pt2,2),3) # a~nade columna marginal y redondea a 3 dıgitos

y

x h m Sum

1 0.532 0.468 1.000

2 0.515 0.485 1.000

3 0.474 0.526 1.000

> # Frecuencias relativas dividiento por totales de columna

> prop.table(t2,2)

y

x h m

Page 18: M. Vargas Jim enez 2012/02/11 - UGRmvargas/eccttTema2.pdf · 2012. 5. 8. · ecdf(x) x Fn(x) l l l l l l l l l l l l l l l l l l l l Otros resum enes de las variable IQR(x) Calcula

18CAPITULO 2. EXAMEN EXPLORATORIO DE LOS DATOS. ESTADISTICOS UNIVARIANTES. DISTRIBUCIONES DE PROBABILIDAD. ANALISIS DE TABLAS DE CONTINGENCIA, TABLAS MULTIDIMENSIONALES. IMPLEMENTACION CON R

1 0.4019608 0.3673469

2 0.3333333 0.3265306

3 0.2647059 0.3061224

2.3.5. Conversion de tabla en data.frame

Para convertir una tabla en un data.frame usamos la funcion data.frame()El data.frame estara formado por tantas columnas como variables en la

tabla, mas una adicional que contendra las frecuencias. Por defecto, la deno-mina Freq. Las filas contienen las combinaciones de categorias de las variablesen la tabla.

Ejemplo

> t2

y

x h m

1 41 36

2 34 32

3 27 30

> # Convierte tabla t2 en data.frame:

> dd=data.frame(t2)

> dd

x y Freq

1 1 h 41

2 2 h 34

3 3 h 27

Page 19: M. Vargas Jim enez 2012/02/11 - UGRmvargas/eccttTema2.pdf · 2012. 5. 8. · ecdf(x) x Fn(x) l l l l l l l l l l l l l l l l l l l l Otros resum enes de las variable IQR(x) Calcula

2.3. CONSTRUCCION Y MANIPULACION DE TABLAS 19

4 1 m 36

5 2 m 32

6 3 m 30

2.3.6. Creacion de tablas a partir de data.frames

Dado un data.frame formado por factores, se puede construir la tabladirectamente mediante table o ftable.

Ejemplo

> d=data.frame(x,y) #data.frame formado por 200 filas y 2 columnas

> head(d)

x y

1 3 m

2 2 m

3 1 m

4 2 h

5 2 h

6 2 m

> table(d)

y

x h m

1 41 36

2 34 32

3 27 30

Page 20: M. Vargas Jim enez 2012/02/11 - UGRmvargas/eccttTema2.pdf · 2012. 5. 8. · ecdf(x) x Fn(x) l l l l l l l l l l l l l l l l l l l l Otros resum enes de las variable IQR(x) Calcula

20CAPITULO 2. EXAMEN EXPLORATORIO DE LOS DATOS. ESTADISTICOS UNIVARIANTES. DISTRIBUCIONES DE PROBABILIDAD. ANALISIS DE TABLAS DE CONTINGENCIA, TABLAS MULTIDIMENSIONALES. IMPLEMENTACION CON R

> ftable(d)

y h m

x

1 41 36

2 34 32

3 27 30

Nota: Observe que los data.frames dd y d tienen la misma informacion, perodd contiene solo 6 filas y una columna de frecuencias.

Observaciones: ftable muestra una mejor presentacion de las tablas.Conversion del data.frame condensado (con columna de frecuencias) en

tabla. Usaremos, en este caso, la funcion xtabs().Ejemplo

> # data.frame dd con columna de frecuencias

> dd

x y Freq

1 1 h 41

2 2 h 34

3 3 h 27

4 1 m 36

5 2 m 32

6 3 m 30

> # Tabla bidimensional

> xtabs(Freq~x+y,data=dd)

y

x h m

Page 21: M. Vargas Jim enez 2012/02/11 - UGRmvargas/eccttTema2.pdf · 2012. 5. 8. · ecdf(x) x Fn(x) l l l l l l l l l l l l l l l l l l l l Otros resum enes de las variable IQR(x) Calcula

2.3. CONSTRUCCION Y MANIPULACION DE TABLAS 21

1 41 36

2 34 32

3 27 30

> #Tabla marginal de x

> xtabs(Freq~x,data=dd)

x

1 2 3

77 66 57

> #Tabla marginal de y

> xtabs(Freq~y,data=dd)

y

h m

102 98

Ejemplo

> # Data.frame datos con columna de frecuencias (Personas)

> datos

sexo peso Personas

1 Hombre Alto 20

2 Mujer Alto 5

3 Hombre Bajo 40

4 Mujer Bajo 55

Page 22: M. Vargas Jim enez 2012/02/11 - UGRmvargas/eccttTema2.pdf · 2012. 5. 8. · ecdf(x) x Fn(x) l l l l l l l l l l l l l l l l l l l l Otros resum enes de las variable IQR(x) Calcula

22CAPITULO 2. EXAMEN EXPLORATORIO DE LOS DATOS. ESTADISTICOS UNIVARIANTES. DISTRIBUCIONES DE PROBABILIDAD. ANALISIS DE TABLAS DE CONTINGENCIA, TABLAS MULTIDIMENSIONALES. IMPLEMENTACION CON R

> # tabla de frecuencias con xtabs

> xtabs(Personas~sexo+peso,data=datos)

peso

sexo Alto Bajo

Hombre 20 40

Mujer 5 55

2.3.7. Tablas de mas de 2 dimensiones

El tratamiento es similar. Usaremos el ejemplo Titanic que proporcionaR. Use help() para mas informacion sobre los datos.

Hemos visto que la funcion ftable presenta un objeto tabla en formatopreferible al de table. Esto se aprecia mejor en tablas multidimensionales(que usa capas cuando hay mas de dos variables). Tambien crea un objetotabla a partir de variables sin tabular.

ftable(objetotable, row.vars=nº o nombres de variables del objeto, col.vars=nº o nombres de variables del objeto)

Presenta el objeto table con las filas y columnas especificadas por su nu-mero, pueden ser especificadas bien por numero o por nombre entre comillas.

ftable(var1, var2, var3, ...) tabula las variables categoricas var1, var2,var3, ...

Ejemplo

> ftable(Titanic) # Formato de presentacion de la tabla (sin capas)

Survived No Yes

Class Sex Age

1st Male Child 0 5

Adult 118 57

Female Child 0 1

Adult 4 140

Page 23: M. Vargas Jim enez 2012/02/11 - UGRmvargas/eccttTema2.pdf · 2012. 5. 8. · ecdf(x) x Fn(x) l l l l l l l l l l l l l l l l l l l l Otros resum enes de las variable IQR(x) Calcula

2.3. CONSTRUCCION Y MANIPULACION DE TABLAS 23

2nd Male Child 0 11

Adult 154 14

Female Child 0 13

Adult 13 80

3rd Male Child 35 13

Adult 387 75

Female Child 17 14

Adult 89 76

Crew Male Child 0 0

Adult 670 192

Female Child 0 0

Adult 3 20

> # la ultima variable presenta sus categorıas en columnas

> # las combinaciones de las otras variables en filas: la primera variable

> # varıa sus categorıas mas lentamente, la ultima variable, las varıa primero

Ejemplo

> Titanic

, , Age = Child, Survived = No

Sex

Class Male Female

1st 0 0

2nd 0 0

3rd 35 17

Page 24: M. Vargas Jim enez 2012/02/11 - UGRmvargas/eccttTema2.pdf · 2012. 5. 8. · ecdf(x) x Fn(x) l l l l l l l l l l l l l l l l l l l l Otros resum enes de las variable IQR(x) Calcula

24CAPITULO 2. EXAMEN EXPLORATORIO DE LOS DATOS. ESTADISTICOS UNIVARIANTES. DISTRIBUCIONES DE PROBABILIDAD. ANALISIS DE TABLAS DE CONTINGENCIA, TABLAS MULTIDIMENSIONALES. IMPLEMENTACION CON R

Crew 0 0

, , Age = Adult, Survived = No

Sex

Class Male Female

1st 118 4

2nd 154 13

3rd 387 89

Crew 670 3

, , Age = Child, Survived = Yes

Sex

Class Male Female

1st 5 1

2nd 11 13

3rd 13 14

Crew 0 0

, , Age = Adult, Survived = Yes

Sex

Class Male Female

1st 57 140

Page 25: M. Vargas Jim enez 2012/02/11 - UGRmvargas/eccttTema2.pdf · 2012. 5. 8. · ecdf(x) x Fn(x) l l l l l l l l l l l l l l l l l l l l Otros resum enes de las variable IQR(x) Calcula

2.3. CONSTRUCCION Y MANIPULACION DE TABLAS 25

2nd 14 80

3rd 75 76

Crew 192 20

> ftable(Titanic,row.vars=1:2,col.vars="Survived") # marginal con combinaciones de las

Survived No Yes

Class Sex

1st Male 118 62

Female 4 141

2nd Male 154 25

Female 13 93

3rd Male 422 88

Female 106 90

Crew Male 670 192

Female 3 20

> NA

[1] NA

> # columnas.

Ejemplos:

> # Variable 2 en filas y variable 1 en columnas

> ftable(Titanic,col.vars=1,row.vars=2) #Colapsa las variables del data frame (marginal).

Class 1st 2nd 3rd Crew

Sex

Page 26: M. Vargas Jim enez 2012/02/11 - UGRmvargas/eccttTema2.pdf · 2012. 5. 8. · ecdf(x) x Fn(x) l l l l l l l l l l l l l l l l l l l l Otros resum enes de las variable IQR(x) Calcula

26CAPITULO 2. EXAMEN EXPLORATORIO DE LOS DATOS. ESTADISTICOS UNIVARIANTES. DISTRIBUCIONES DE PROBABILIDAD. ANALISIS DE TABLAS DE CONTINGENCIA, TABLAS MULTIDIMENSIONALES. IMPLEMENTACION CON R

Male 180 179 510 862

Female 145 106 196 23

> # Todas las combinaciones de las 4 variables en filas y 1 columna con frecuencias

> ftable(Titanic,row.vars=1:4)

Class Sex Age Survived

1st Male Child No 0

Yes 5

Adult No 118

Yes 57

Female Child No 0

Yes 1

Adult No 4

Yes 140

2nd Male Child No 0

Yes 11

Adult No 154

Yes 14

Female Child No 0

Yes 13

Adult No 13

Yes 80

3rd Male Child No 35

Yes 13

Adult No 387

Page 27: M. Vargas Jim enez 2012/02/11 - UGRmvargas/eccttTema2.pdf · 2012. 5. 8. · ecdf(x) x Fn(x) l l l l l l l l l l l l l l l l l l l l Otros resum enes de las variable IQR(x) Calcula

2.3. CONSTRUCCION Y MANIPULACION DE TABLAS 27

Yes 75

Female Child No 17

Yes 14

Adult No 89

Yes 76

Crew Male Child No 0

Yes 0

Adult No 670

Yes 192

Female Child No 0

Yes 0

Adult No 3

Yes 20

Conversion de la tabla en data.frame: Ejemplo

> data.frame(Titanic)

Class Sex Age Survived Freq

1 1st Male Child No 0

2 2nd Male Child No 0

3 3rd Male Child No 35

4 Crew Male Child No 0

5 1st Female Child No 0

6 2nd Female Child No 0

7 3rd Female Child No 17

8 Crew Female Child No 0

Page 28: M. Vargas Jim enez 2012/02/11 - UGRmvargas/eccttTema2.pdf · 2012. 5. 8. · ecdf(x) x Fn(x) l l l l l l l l l l l l l l l l l l l l Otros resum enes de las variable IQR(x) Calcula

28CAPITULO 2. EXAMEN EXPLORATORIO DE LOS DATOS. ESTADISTICOS UNIVARIANTES. DISTRIBUCIONES DE PROBABILIDAD. ANALISIS DE TABLAS DE CONTINGENCIA, TABLAS MULTIDIMENSIONALES. IMPLEMENTACION CON R

9 1st Male Adult No 118

10 2nd Male Adult No 154

11 3rd Male Adult No 387

12 Crew Male Adult No 670

13 1st Female Adult No 4

14 2nd Female Adult No 13

15 3rd Female Adult No 89

16 Crew Female Adult No 3

17 1st Male Child Yes 5

18 2nd Male Child Yes 11

19 3rd Male Child Yes 13

20 Crew Male Child Yes 0

21 1st Female Child Yes 1

22 2nd Female Child Yes 13

23 3rd Female Child Yes 14

24 Crew Female Child Yes 0

25 1st Male Adult Yes 57

26 2nd Male Adult Yes 14

27 3rd Male Adult Yes 75

28 Crew Male Adult Yes 192

29 1st Female Adult Yes 140

30 2nd Female Adult Yes 80

31 3rd Female Adult Yes 76

32 Crew Female Adult Yes 20

Page 29: M. Vargas Jim enez 2012/02/11 - UGRmvargas/eccttTema2.pdf · 2012. 5. 8. · ecdf(x) x Fn(x) l l l l l l l l l l l l l l l l l l l l Otros resum enes de las variable IQR(x) Calcula

2.3. CONSTRUCCION Y MANIPULACION DE TABLAS 29

2.3.8. Test de independencia chi-cuadrado para tablas

de contingencia

Funcion chisq.test()Permite realizar contraste de hipotesis de independencia de las variables

en la tabla.EjemploContraste la hipotesis nula a un nivel de significacion α = 0,01H0 : x e y son independientesH1 : x e y no son independientes

> t2

y

x h m

1 41 36

2 34 32

3 27 30

> chisq.test(t2) # determina el test chi-cuadrado para la tabla bidimensional t2

Pearson's Chi-squared test

data: t2

X-squared = 0.4634, df = 2, p-value = 0.7932

Decision: el p−valor = 0,7932,≥ α = 0,01, por lo que no puede rechazarsela hipotesis nula de independencia de las variables.

Ejemplo Clasificacion de mayores de 16 anos en Granada segun relacioncon actividad y sexo. Contraste la hipotesis de independencia de las variablesRelActiv y Sexo.

> # Construccion de tabla con dataframe con frecuencias

> tgr=xtabs(P2005~Sexo+RelActiv,data=GR1)

> tgr

Page 30: M. Vargas Jim enez 2012/02/11 - UGRmvargas/eccttTema2.pdf · 2012. 5. 8. · ecdf(x) x Fn(x) l l l l l l l l l l l l l l l l l l l l Otros resum enes de las variable IQR(x) Calcula

30CAPITULO 2. EXAMEN EXPLORATORIO DE LOS DATOS. ESTADISTICOS UNIVARIANTES. DISTRIBUCIONES DE PROBABILIDAD. ANALISIS DE TABLAS DE CONTINGENCIA, TABLAS MULTIDIMENSIONALES. IMPLEMENTACION CON R

RelActiv

Sexo inactivo ocupado parado

Hombre 127200 200279 19645

Mujer 218495 113607 26851

> chisq.test(tgr)

Pearson's Chi-squared test

data: tgr

X-squared = 48974.94, df = 2, p-value < 2.2e-16

Decision: el p− valor = 0,≤ α = 0,05, por lo que se rechaza la hipotesisnula de independencia de las variables.

Ejemplo

Test chi-cuadrado con las variables seleccionadas del data.frame

chisq.test(b\$catlab, b\$sexo)

chisq.test(b\$sexo, b\$minorıa)\$expected

EjemploDivide el salario en 2 clases y realiza test de la tabla 2x2

chisq.test(salario > 28880, b$sexo)

EjemploPermite presentar o acceder a los valores de las frecuencias esperadas bajo

la hipotesis de independencia, ası como los observados y resiuos (diferenciasentre freccia observada y esperada)

a= chisq.test(table(datos))

a$expected # presenta valores esperados

Page 31: M. Vargas Jim enez 2012/02/11 - UGRmvargas/eccttTema2.pdf · 2012. 5. 8. · ecdf(x) x Fn(x) l l l l l l l l l l l l l l l l l l l l Otros resum enes de las variable IQR(x) Calcula

2.4. GRAFICOS 31

a$observed # valores observados

a$residuals # residuos

2.4. Graficos

Entre los graficos mas frecuentes se encuentran los que se describen porlas funciones siguientes:

barplot(), hist(), boxplot(), plot(), stem(), pie()

Otras funciones utiles para graficos son:

savePlot(), segments(), plot(ecdf()), abline(),lines()

2.4.1. Grafico de barras

barplot() es muy util para usar con tablas cuyas distribuciones presentanpocas modalidades distintas.

barplot(vecalturas, col = colorbarras”, main=”titulografico”,...) grafico debarras indicando el color y tıtulo.

barplot(matrixalturas, col = color”, main=”titulografico”,...) varios grafi-cos de barras; cada vector de la matriz matrixalturas representa las alturasde una serie de barras. Pueden ir apiladas o separadas, dependiendo del ar-gumento beside= T o F.

barplot(tablefrecUnidi,col=colobarrasr”,main=”TituloGrafico”)

plot(tablafrecuencunidim, type = ”h”, col = numcolor, lwd = 5, main= ”tituloGrafico”, ylab = .etiquetaejey”, xlab = .etiquetaejex”, ...) grafico debarras

Ejemplo

Grafico de barras

> barplot(c(10,2,4),names.arg=c("A","B","C"),col="orange")

Page 32: M. Vargas Jim enez 2012/02/11 - UGRmvargas/eccttTema2.pdf · 2012. 5. 8. · ecdf(x) x Fn(x) l l l l l l l l l l l l l l l l l l l l Otros resum enes de las variable IQR(x) Calcula

32CAPITULO 2. EXAMEN EXPLORATORIO DE LOS DATOS. ESTADISTICOS UNIVARIANTES. DISTRIBUCIONES DE PROBABILIDAD. ANALISIS DE TABLAS DE CONTINGENCIA, TABLAS MULTIDIMENSIONALES. IMPLEMENTACION CON R

A B C

02

46

810

Ejemplo

Representacion en grafico de barras del objeto tabla t

> Sexo=rep(c("hombre","mujer"),c(25,20))

> t=table(Sexo)

> barplot(t,col=c("blue","pink"),main="Distribucion del sexo")

Page 33: M. Vargas Jim enez 2012/02/11 - UGRmvargas/eccttTema2.pdf · 2012. 5. 8. · ecdf(x) x Fn(x) l l l l l l l l l l l l l l l l l l l l Otros resum enes de las variable IQR(x) Calcula

2.4. GRAFICOS 33

hombre mujer

Distribución del sexo

05

1015

2025

Ejemplo

Grafico de barras para tabla bidimensional

> Edad=c(30,rep(20,10),rep(25,20),rep(30,14))

> t=table(Sexo,Edad)

> barplot(t,beside=F,legend=rownames(t))

Page 34: M. Vargas Jim enez 2012/02/11 - UGRmvargas/eccttTema2.pdf · 2012. 5. 8. · ecdf(x) x Fn(x) l l l l l l l l l l l l l l l l l l l l Otros resum enes de las variable IQR(x) Calcula

34CAPITULO 2. EXAMEN EXPLORATORIO DE LOS DATOS. ESTADISTICOS UNIVARIANTES. DISTRIBUCIONES DE PROBABILIDAD. ANALISIS DE TABLAS DE CONTINGENCIA, TABLAS MULTIDIMENSIONALES. IMPLEMENTACION CON R

20 25 30

mujerhombre

05

1015

20

Ejemplo

Grafico de barras para tabla bidimensional

> barplot(t(t),beside=F,legend=colnames(t)) # para tabla bidimensional

Page 35: M. Vargas Jim enez 2012/02/11 - UGRmvargas/eccttTema2.pdf · 2012. 5. 8. · ecdf(x) x Fn(x) l l l l l l l l l l l l l l l l l l l l Otros resum enes de las variable IQR(x) Calcula

2.4. GRAFICOS 35

hombre mujer

302520

05

1015

2025

2.4.2. Histograma

Funcion hist(Var, nclass= num,...) establece el numero de clases

hist(Var, br= num,...) indica los cortes para las clases en el vector num

Ejemplo

> x=rnorm(20,3,1)

> hist(x,nclass=3,col="orange",main="histograma")

Page 36: M. Vargas Jim enez 2012/02/11 - UGRmvargas/eccttTema2.pdf · 2012. 5. 8. · ecdf(x) x Fn(x) l l l l l l l l l l l l l l l l l l l l Otros resum enes de las variable IQR(x) Calcula

36CAPITULO 2. EXAMEN EXPLORATORIO DE LOS DATOS. ESTADISTICOS UNIVARIANTES. DISTRIBUCIONES DE PROBABILIDAD. ANALISIS DE TABLAS DE CONTINGENCIA, TABLAS MULTIDIMENSIONALES. IMPLEMENTACION CON R

histograma

x

Fre

quen

cy

0 1 2 3 4 5 6

02

46

810

1214

Ejemplo

> hist(x,br=quantile(x),col="grey")

Page 37: M. Vargas Jim enez 2012/02/11 - UGRmvargas/eccttTema2.pdf · 2012. 5. 8. · ecdf(x) x Fn(x) l l l l l l l l l l l l l l l l l l l l Otros resum enes de las variable IQR(x) Calcula

2.4. GRAFICOS 37

Histogram of x

x

Den

sity

1 2 3 4 5

0.0

0.1

0.2

0.3

0.4

EjemploHistograma con curva normal

> x=rnorm(100,4,2)

> hist(x, freq=FALSE, col="grey", main="distribucion normal")

> points(x, dnorm(x, mean=mean(x),sd=sd(x)),col="red")

Ejemplo Propiedades del histograma, sin grafico.

> hist(x,plot=F)

$breaks

[1] 0 1 2 3 4 5 6 7 8 9

$counts

Page 38: M. Vargas Jim enez 2012/02/11 - UGRmvargas/eccttTema2.pdf · 2012. 5. 8. · ecdf(x) x Fn(x) l l l l l l l l l l l l l l l l l l l l Otros resum enes de las variable IQR(x) Calcula

38CAPITULO 2. EXAMEN EXPLORATORIO DE LOS DATOS. ESTADISTICOS UNIVARIANTES. DISTRIBUCIONES DE PROBABILIDAD. ANALISIS DE TABLAS DE CONTINGENCIA, TABLAS MULTIDIMENSIONALES. IMPLEMENTACION CON R

[1] 5 11 11 24 17 14 12 5 1

$intensities

[1] 0.05 0.11 0.11 0.24 0.17 0.14 0.12 0.05 0.01

$density

[1] 0.05 0.11 0.11 0.24 0.17 0.14 0.12 0.05 0.01

$mids

[1] 0.5 1.5 2.5 3.5 4.5 5.5 6.5 7.5 8.5

$xname

[1] "x"

$equidist

[1] TRUE

attr(,"class")

[1] "histogram"

Ejemplo

> x1=rnorm(500,5,1)

> x2=rnorm(500,10,2)

> x=x1+x2

> mean(x)

Page 39: M. Vargas Jim enez 2012/02/11 - UGRmvargas/eccttTema2.pdf · 2012. 5. 8. · ecdf(x) x Fn(x) l l l l l l l l l l l l l l l l l l l l Otros resum enes de las variable IQR(x) Calcula

2.4. GRAFICOS 39

[1] 15.04366

> sd(x)

[1] 2.236826

> hist(x,col=7,prob=T)

> lines(seq(6,24,0.1),dnorm(seq(6,24,0.1),15,sqrt(5)))

Histogram of x

x

Den

sity

10 15 20

0.00

0.05

0.10

0.15

2.4.3. Grafico caja

Funcion boxplot()boxplot(formula, data = datos, ..., subset=operadorlogico, col=color”)boxplot(formVarFactor,col=color”,names=.EtiquetasFactorParaCajas”,main=”TituloGrafico”)

boxplot(, data=misdatos, subset=sexo==”h”, col=”blue”)

Page 40: M. Vargas Jim enez 2012/02/11 - UGRmvargas/eccttTema2.pdf · 2012. 5. 8. · ecdf(x) x Fn(x) l l l l l l l l l l l l l l l l l l l l Otros resum enes de las variable IQR(x) Calcula

40CAPITULO 2. EXAMEN EXPLORATORIO DE LOS DATOS. ESTADISTICOS UNIVARIANTES. DISTRIBUCIONES DE PROBABILIDAD. ANALISIS DE TABLAS DE CONTINGENCIA, TABLAS MULTIDIMENSIONALES. IMPLEMENTACION CON R

Graficos caja. Uno por cada nivel del factor.

boxplot(variable, col=colorcaja”,...) Un grafico caja para la variable

boxplot(split(variable, factor), factor)

Ejemplo

Grafico caja.

> boxplot(x,col="red") # grafico caja de la variable cuantitativa x

810

1214

1618

20

Ejemplo

Un grafico caja para cada combinacion de factores

> x=c(rnorm(10),rnorm(10,1.5,1.2))

> f1=factor(c(rep(c(1,2,1,2),c(5,3,7,5))))

> f2=factor(c(rep(1,10),rep(2,10)))

> boxplot(x~f1+f2, col="green") #distingue por factor y

Page 41: M. Vargas Jim enez 2012/02/11 - UGRmvargas/eccttTema2.pdf · 2012. 5. 8. · ecdf(x) x Fn(x) l l l l l l l l l l l l l l l l l l l l Otros resum enes de las variable IQR(x) Calcula

2.4. GRAFICOS 41

1.1 2.1 1.2 2.2

−1

01

23

4

2.4.4. Grafico de sectores

Funcion textcolorredpie()

pie(vectorareasector, labels = names(vectorareasector),...,main=”titulo delgrafico”, ...) Grafico sectores

Ejemplo

Grafico de sectores.

> pie(table(Sexo),main="Clasificacion por Sexo",)

Page 42: M. Vargas Jim enez 2012/02/11 - UGRmvargas/eccttTema2.pdf · 2012. 5. 8. · ecdf(x) x Fn(x) l l l l l l l l l l l l l l l l l l l l Otros resum enes de las variable IQR(x) Calcula

42CAPITULO 2. EXAMEN EXPLORATORIO DE LOS DATOS. ESTADISTICOS UNIVARIANTES. DISTRIBUCIONES DE PROBABILIDAD. ANALISIS DE TABLAS DE CONTINGENCIA, TABLAS MULTIDIMENSIONALES. IMPLEMENTACION CON R

hombre

mujer

Clasificación por Sexo

2.4.5. Grafico de tallo y hojas

Funcion stem()Ejemplo

> stem(Edad)

The decimal point is at the |

20 | 0000000000

22 |

24 | 00000000000000000000

26 |

Page 43: M. Vargas Jim enez 2012/02/11 - UGRmvargas/eccttTema2.pdf · 2012. 5. 8. · ecdf(x) x Fn(x) l l l l l l l l l l l l l l l l l l l l Otros resum enes de las variable IQR(x) Calcula

2.4. GRAFICOS 43

28 |

30 | 000000000000000

2.4.6. Otros graficos y opciones graficas

Funcion abline()

Dibuja recta sobre grafico existente: abline(intercept, pendiente)

abline(h=altura en el eje) traza una recta horizontal

abline(v=distancia del eje) traza una recta vertical

abline(intercept, pendiente) traza una recta con intercept y pendienteespecificadas

Ejemplo

Trazado de lıneas en el grafico

> x=1:5

> y=x

> plot(x,y)

> abline(h = 1:5, v = 1:5, col = "lightgray", lty=3)# dibuja lineas verticals y horizontales

Page 44: M. Vargas Jim enez 2012/02/11 - UGRmvargas/eccttTema2.pdf · 2012. 5. 8. · ecdf(x) x Fn(x) l l l l l l l l l l l l l l l l l l l l Otros resum enes de las variable IQR(x) Calcula

44CAPITULO 2. EXAMEN EXPLORATORIO DE LOS DATOS. ESTADISTICOS UNIVARIANTES. DISTRIBUCIONES DE PROBABILIDAD. ANALISIS DE TABLAS DE CONTINGENCIA, TABLAS MULTIDIMENSIONALES. IMPLEMENTACION CON R

1 2 3 4 5

12

34

5

x

y

Funcion example()

Use la opcion example para ver ejemplos de graficos.

example(barplot)

example(hist)

example(plot)

Funcion segments()

Dibuja segmentos en un grafico existente

segments(coor un extremo, coor de otro extremo, col=, lty=, lwd=, ...)

segments(x0,y0,x1,y1,col=red”,lwd=4) segmento desde el punto (x0,y0)al (x1,y1)

Ejemplo

Trazado de segmentos Grafico de funcion de probabilidad del modelobinomial B(20,0.4)

> plot(0:20,dbinom(0:20,20,0.4),type="n")

> segments(0:20,rep(0,21),0:20,dbinom(0:20,20,0.4),col="red",lty=3,lwd=3)

Page 45: M. Vargas Jim enez 2012/02/11 - UGRmvargas/eccttTema2.pdf · 2012. 5. 8. · ecdf(x) x Fn(x) l l l l l l l l l l l l l l l l l l l l Otros resum enes de las variable IQR(x) Calcula

2.4. GRAFICOS 45

0 5 10 15 20

0.00

0.05

0.10

0.15

0:20

dbin

om(0

:20,

20,

0.4

)

Funcion legend()Dibuja leyendas en un grafico existente Anade a un grafico una leyenda en

la posicion indicada por abscisa y ordenada. Vea ayuda para mas opciones.legend(coordenadas , texto, ...)legend(abscisa, ordenada, ”textoleyenda”)Ejemplo:

coor=locator(1) #espera a que el usuario elija las coordenadas para colocar la etiqueta

legend(coor,c("empırica","teorica"),col=c("red","black"),lwd=c(2,1),lty=c(2,1))

# O bien directamente de forma equivalente mediante

legend(locator(1),c("empırica","teorica"),col=c("red","black"),lwd=c(2,1),lty=c(2,1))

Ejemplolegend(min(x),max(y), c(”hombre”,”mujer”), pch=c(1,2), col=c(1,2))Ejemploa=locator(1) b=c(”Mujer”,”Varon”) legend(a,b,lty=c(1,3),col=c(2,5),text.col=c(2,5),box.lwd=2,

pt.cex=0.7,box.lty=2)

Page 46: M. Vargas Jim enez 2012/02/11 - UGRmvargas/eccttTema2.pdf · 2012. 5. 8. · ecdf(x) x Fn(x) l l l l l l l l l l l l l l l l l l l l Otros resum enes de las variable IQR(x) Calcula

46CAPITULO 2. EXAMEN EXPLORATORIO DE LOS DATOS. ESTADISTICOS UNIVARIANTES. DISTRIBUCIONES DE PROBABILIDAD. ANALISIS DE TABLAS DE CONTINGENCIA, TABLAS MULTIDIMENSIONALES. IMPLEMENTACION CON R

EjemploGrafico de funcion de probabilidad del modelo binomial B(20,0.4)

> plot(0:20,dbinom(0:20,20,0.4),type="n",ylim=c(0,0.35))

> segments(0:20,rep(0,21),0:20,dbinom(0:20,20,0.4),col="red",lty=3,lwd=3)

> # binomial B(5,0.4)

> segments(0:5,rep(0,6),0:5,dbinom(0:5,5,0.4),col="blue",lty=4,lwd=3)

> legend(list(x=13,y=0.27),c("B(20,0.4)","B(5,0.4)"),lty=c(3,4),lwd=c(3,3),

+ col=c(2,4),text.col=c(2,4),box.lwd=2)

> title("Modelos binomiales",col.main=4)

0 5 10 15 20

0.00

0.05

0.10

0.15

0.20

0.25

0.30

0.35

0:20

dbin

om(0

:20,

20,

0.4

) B(20,0.4)B(5,0.4)

Modelos binomiales

Funcion lines()Dibuja lıneas en un grafico existente:Anade lıneas al grafico de distinto tipo, color y grosorlines(vector de abscisas, vector de ordenadas)

Page 47: M. Vargas Jim enez 2012/02/11 - UGRmvargas/eccttTema2.pdf · 2012. 5. 8. · ecdf(x) x Fn(x) l l l l l l l l l l l l l l l l l l l l Otros resum enes de las variable IQR(x) Calcula

2.4. GRAFICOS 47

lines(coordx,coordy, lty=nºtipolinea, lwd=nºgrueso, ...)gEjemplolines(coordx, coordy,lty=4,col=4,lwd=3) anade lıneas al grafico de tipo

linea 4, color 4 (rojo), grosor 3Funcion grid()Dibuja una rejilla sobre el grafico existente.grid(n1, n2, lwd = 2) rejilla sobre grafico. n1 y n2 indican los numeros

de casillas de las lıneas divisorias verticales y horizontales que apareceran enel grafico. Si se sustituye algun n1 o n2 por NA no se tranzaran mas queverticales u horizontales.

EjemploGraficos con cuadrıcula o grid

> plot(0:1,0:1,type="n")

> grid(3,3,lwd=2,col="green")

> grid(20,20,col = "lightgray", lty = "dotted")

0.0 0.2 0.4 0.6 0.8 1.0

0.0

0.2

0.4

0.6

0.8

1.0

0:1

0:1

Funcion points()

Page 48: M. Vargas Jim enez 2012/02/11 - UGRmvargas/eccttTema2.pdf · 2012. 5. 8. · ecdf(x) x Fn(x) l l l l l l l l l l l l l l l l l l l l Otros resum enes de las variable IQR(x) Calcula

48CAPITULO 2. EXAMEN EXPLORATORIO DE LOS DATOS. ESTADISTICOS UNIVARIANTES. DISTRIBUCIONES DE PROBABILIDAD. ANALISIS DE TABLAS DE CONTINGENCIA, TABLAS MULTIDIMENSIONALES. IMPLEMENTACION CON R

Anade puntos a un grafico existente.points(coordx, coordy = NULL, type = ”p”, pch =num1:num2), col =,

...) Anade puntos a un plot. pch indica con distintos valores numericos lasdistintas formas posibles de representar la series de datos (circulo, triangulo,cruz, etc.)

Funcion text()Anade texto a un grafico existente.text(vcoordx,vcoordy., vtexto, ...) Anade texto al grafico corriente.Funcion title()Anade tıtulo a un grafico existente.title(”textoTitulo”) Anade tıtulo a un grafico existente. Vea argumentos

en ayuda.Funcion axis()Anade ejes a un grafico.axis()Ejemplos:axis(1, c(0.25,0.5,0.75), LETTERS[1:3], col.axis = ”blue”) anade eje abs-

cisas y coloca letrasaxis(2) anade el eje vertical por defectoEjemplo

Edad=rep(0,9)

A~no=2000:2008

plot(Edad,A~no,type="n",axes=F,xlab="Edad",ylab="A~no", ylim=c(2000,2008),xlim=c(0,9))

axis(2,at=c(2000:2008),col.axis=5)

axis(1,at=c(0:9),col.axis=5)

Ejemplo

> plot(0:1,0:1,type="n")

> grid(3,3,lwd=2,col="green")

> grid(20,20,col = "lightgray", lty = "dotted")

> text(0.5,0.5,"Centro",col=4)

> title("Tıtulo del Grafico", col.main="red",cex.main=0.7)

Page 49: M. Vargas Jim enez 2012/02/11 - UGRmvargas/eccttTema2.pdf · 2012. 5. 8. · ecdf(x) x Fn(x) l l l l l l l l l l l l l l l l l l l l Otros resum enes de las variable IQR(x) Calcula

2.4. GRAFICOS 49

> axis(1, c(0.33,0.67),c("1/3","2/3"), col.axis = "blue") #a~nade eje abscisas y coloca letras

> axis(2) #a~nade el eje vertical por defecto

0.0 0.2 0.4 0.6 0.8 1.0

0.0

0.2

0.4

0.6

0.8

1.0

0:1

0:1 Centro

Título del Gráfico

1/3 2/3

0.0

0.2

0.4

0.6

0.8

1.0

2.4.7. Division del dispositivo de salida del grafico

Funcion layout()layout(matriz,...)Divide el dispositivo de salida en filas y columnas con numeros que indican

las posiciones en que iran colocandose las figuras que van anadiendose. Losvalores numericos de la matriz van de 1 al numero de figuras. Por ejemplomatriz=matrix(c(1:4),ncol=2). Ocupa los 4 = 2 x 2 espacios: uno para cadafigura. Matriz=matrix(c(1,0,1,2), 2,2, byrow=T)

Ejemplo

layout (matriz(1:4,nrow=2))

Divide el espacio grafico en 2x2 partes (2 filas y 2 columnas) para colocar los graficos

Page 50: M. Vargas Jim enez 2012/02/11 - UGRmvargas/eccttTema2.pdf · 2012. 5. 8. · ecdf(x) x Fn(x) l l l l l l l l l l l l l l l l l l l l Otros resum enes de las variable IQR(x) Calcula

50CAPITULO 2. EXAMEN EXPLORATORIO DE LOS DATOS. ESTADISTICOS UNIVARIANTES. DISTRIBUCIONES DE PROBABILIDAD. ANALISIS DE TABLAS DE CONTINGENCIA, TABLAS MULTIDIMENSIONALES. IMPLEMENTACION CON R

Funcion mfrow()

Divide el dispositivo de salida grafico en n1 x n2 regiones y restablecedespues.

op=par(mfrow=c(n1,n2)) divide el dispositivo de salida grafico en n1 xn2 regiones instrucciones de graficos, etc. par(op)

Ejemplo

> x=sample(20:25,1000,prob=c(0.1,0.2,0.3,0.3,0.05,0.05),replace=T)

> t=table(x)

> y=runif(100,0,1)

> ou=par(mfrow = c(1, 2))

> barplot(t,col="mistyrose")

> title("Grafico 1")

> boxplot(y,col="lightblue")

> title("Grafico 2")

> par(ou)

Page 51: M. Vargas Jim enez 2012/02/11 - UGRmvargas/eccttTema2.pdf · 2012. 5. 8. · ecdf(x) x Fn(x) l l l l l l l l l l l l l l l l l l l l Otros resum enes de las variable IQR(x) Calcula

2.4. GRAFICOS 51

20 22 24

050

100

150

200

250

300

Gráfico 1

0.0

0.2

0.4

0.6

0.8

1.0

Gráfico 2

2.4.8. Graficos para cuantiles de la distribucion de la

variable

Funcion qqnorm() y funcion qqplot()

qqnorm(var) compara cuantiles de var con los de una normal

qqnorm(var);qqline(var,col=numcolor) grafico de cuantiles normales y devar con lınea que pasa por primer y tercer cuartil (version R2.0)

qqplot(var1,var2) Grafico de cuantiles de var1 frente a los de var2

qqplot(var, qnorm(ppoints(var), mean = valormedia, sd = valorsigma));

abline(0,1, col = num, lty = num)

Page 52: M. Vargas Jim enez 2012/02/11 - UGRmvargas/eccttTema2.pdf · 2012. 5. 8. · ecdf(x) x Fn(x) l l l l l l l l l l l l l l l l l l l l Otros resum enes de las variable IQR(x) Calcula

52CAPITULO 2. EXAMEN EXPLORATORIO DE LOS DATOS. ESTADISTICOS UNIVARIANTES. DISTRIBUCIONES DE PROBABILIDAD. ANALISIS DE TABLAS DE CONTINGENCIA, TABLAS MULTIDIMENSIONALES. IMPLEMENTACION CON R

2.4.9. Guardar grafico corriente en archivo de distinto

tipo o formato

Funcion savePlot()

savePlot(filename = ”MIgrafico”,type = ”pdf”, restoreConsole = TRUE)

El formato del fichero que se guarda puede ser de varios tipos:

type = c(”wmf”, .emf”, ”png”, ”jpg”, ”jpeg”, ”bmp”, ”tif”, ”tiff”, ”ps”, .eps”,”pdf”)

2.4.10. Graficos con el paquete lattice

Ejemplo

Presentamos un ejemplo con los datos de data.frame GR1:

> library(lattice)

> names(GR1)

[1] "Edad" "RelActiv" "Sexo" "P2005" "P2011"

> t=xtabs(P2005~RelActiv+Sexo+Edad,data=GR1)

> barchart(t, auto.key = list())

Page 53: M. Vargas Jim enez 2012/02/11 - UGRmvargas/eccttTema2.pdf · 2012. 5. 8. · ecdf(x) x Fn(x) l l l l l l l l l l l l l l l l l l l l Otros resum enes de las variable IQR(x) Calcula

2.4. GRAFICOS 53

Freq

inactivo

ocupado

parado

0 50000 100000 150000 200000

Hombre

0 50000 100000 150000 200000

Mujer

<=30>4530−45

2.4.11. Graficos para datos multivariantes

Funciones pairs(), plot(), coplot(), matlines(), matplot(), matpoint()pairs(X) scatterplot de las variables de las columnas de la matriz Xpairs(matrizvariabs,...) graficos de dispersion con multiples pares de va-

riables de la matriz o dataframe matrizvariabsEjemplopairs( x + y + z, data = datos ,...) graficos de dispersion con multiples

variables de los pares de variables x, y , z de la formula.plot(dataframe) graficos de dispersion de pares de columnas del datafra-

me.plot(dataframe[n1:n2]) graficos de dispersion de pares de columnas selec-

cionadas en el dataframe.EjemploScatterplot de a y b condicionados a los valores del factor ccoplot(a b | c)

Page 54: M. Vargas Jim enez 2012/02/11 - UGRmvargas/eccttTema2.pdf · 2012. 5. 8. · ecdf(x) x Fn(x) l l l l l l l l l l l l l l l l l l l l Otros resum enes de las variable IQR(x) Calcula

54CAPITULO 2. EXAMEN EXPLORATORIO DE LOS DATOS. ESTADISTICOS UNIVARIANTES. DISTRIBUCIONES DE PROBABILIDAD. ANALISIS DE TABLAS DE CONTINGENCIA, TABLAS MULTIDIMENSIONALES. IMPLEMENTACION CON R

matlines(vectomatriz1, vecomatriz2, type=”l”, lty=1:5, ...) Anade lıneasde multiples series a grafico existente.

matplot(vecomatriz1, vecomatriz2, type=”p”, lty=1:5, ...) Grafico de mul-tiples series de puntos o lıneas.

matpoint(vecomatriz1, vecomatriz2, type=”p”, lty=1:5, ...) Anade puntosde multiples series a grafico existente.

Funciones usadas en tema 2

abline, addmargins, ave, axis, barplot, binom, boxplot, chisq, chisq.test,coplot, cor, example, exp, ftable, grid, hist, layout, legend, lines, margin.table,matlines, matplot, matpoint, mean, median, mfrow, norm, pairs, pie, plot,points, pois, prop.table, qqnorm, qqplot, quantile, range, rbinom, rnorm,rpois, runif, sample, savePlot, sd, segments, stem, summary, table, text, title,unif, var, xtabs.