introducción a r estadísticaiisistemas.fciencias.unam.mx/~misraim/r.pdf ·...

74
Introducción a R Estadística II Misraim Gutiérrez Facultad de Ciencias UNAM Misraim Gutiérrez (Facultad de Ciencias) 1 / 96

Upload: lyphuc

Post on 27-Oct-2018

225 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Introducción a R EstadísticaIIsistemas.fciencias.unam.mx/~misraim/r.pdf · Paraeliminarobjetosseutilizalaordenrm,porejemplo > rm(a, b, c, x1, x2) LosobjetoscreadosduranteunasesióndeR

Introducción a R

Estadística II

Misraim GutiérrezFacultad de Ciencias

UNAM

Misraim Gutiérrez (Facultad de Ciencias) 1 / 96

Page 2: Introducción a R EstadísticaIIsistemas.fciencias.unam.mx/~misraim/r.pdf · Paraeliminarobjetosseutilizalaordenrm,porejemplo > rm(a, b, c, x1, x2) LosobjetoscreadosduranteunasesióndeR

R es un poderoso software estadístico dedistribución libre basado en el lenguaje S. Noobstante, R tiene una interfase no muy amigable,por lo que se propone el uso de un editor comoTinn-R (en el caso de Windows) y RKWard

(en el caso de Linux). El uso del editor estotalmente opcional, ya que obviamente cadaprograma está hecho para trabajar por separado.En las siguientes transparencias daremos unaintroducción al mundo de R.

Puede obtenerse libremente dehttp://cran.r-project.org

R incluye varios manuales y, en particular,recomendamos la lectura de An Introductionto R. En el sitio de distribución de R sepueden encontrar una gran cantidad denotas, tutoriales, etc. que tambiénrecomendamos explorar.

Misraim Gutiérrez (Facultad de Ciencias) 2 / 96

Page 3: Introducción a R EstadísticaIIsistemas.fciencias.unam.mx/~misraim/r.pdf · Paraeliminarobjetosseutilizalaordenrm,porejemplo > rm(a, b, c, x1, x2) LosobjetoscreadosduranteunasesióndeR

Objetos

Las entidades que R crea y manipula se denominan objetos. En una sesión detrabajo en R los objetos que se crean se almacenan por nombre. La orden

> objects()

se puede utilizar para obtener ó mostrar los nombres de los objetos almacenadosen R. Esta función es equivalente a la función

> ls()

Así, a la colección de objetos almacenados en cada momento se le conoce comoespacio de trabajo (workspace)

Misraim Gutiérrez (Facultad de Ciencias) 3 / 96

Page 4: Introducción a R EstadísticaIIsistemas.fciencias.unam.mx/~misraim/r.pdf · Paraeliminarobjetosseutilizalaordenrm,porejemplo > rm(a, b, c, x1, x2) LosobjetoscreadosduranteunasesióndeR

Para eliminar objetos se utiliza la orden rm, por ejemplo

> rm(a, b, c, x1, x2)

Los objetos creados durante una sesión de R pueden almacenarse en un archivo.Al finalizar la sesión, R pregunta si desea hacerlo. En caso afirmativo todos losobjetos se almacenan en el archivo .RData 1

1El punto inicial del nombre de este archivo indica que es invisible en UNIX.Misraim Gutiérrez (Facultad de Ciencias) 4 / 96

Page 5: Introducción a R EstadísticaIIsistemas.fciencias.unam.mx/~misraim/r.pdf · Paraeliminarobjetosseutilizalaordenrm,porejemplo > rm(a, b, c, x1, x2) LosobjetoscreadosduranteunasesióndeR

Ayuda

Existen varias formas para accesar a la ayuda de R.help() Documentación en linea de la función ayuda.help(tema) Documentación en linea para algún tema o función enespecífico.help("tema") Igual que la forma anterior.?tema Igual que la forma anterior.??tema Accede a un índice de busqueda relacionada con el tema solicitado.

Misraim Gutiérrez (Facultad de Ciencias) 5 / 96

Page 6: Introducción a R EstadísticaIIsistemas.fciencias.unam.mx/~misraim/r.pdf · Paraeliminarobjetosseutilizalaordenrm,porejemplo > rm(a, b, c, x1, x2) LosobjetoscreadosduranteunasesióndeR

Sintaxis

Sintaxis y operadores comunes en RDescripción Símbolo EjemploComentarios # # Este es un comentarioAsignación <- x<-log(2)

multiplicación * a*bExponencial ˆ 2ˆ2

Sucesión de x a yaumentando de cen c

seq seq(x,y,c)

Sucesión : 0:20

Misraim Gutiérrez (Facultad de Ciencias) 6 / 96

Page 7: Introducción a R EstadísticaIIsistemas.fciencias.unam.mx/~misraim/r.pdf · Paraeliminarobjetosseutilizalaordenrm,porejemplo > rm(a, b, c, x1, x2) LosobjetoscreadosduranteunasesióndeR

Aritmética Simple

R realiza operaciones de aritmética simple, en orden y convenciones usuales.>5+3[1] 8

>4*4/450.3555556

>(2-34)/54*23[1] -13.62963

>pi[1] 3.141593

>2i[1] 0+2i

Misraim Gutiérrez (Facultad de Ciencias) 7 / 96

Page 8: Introducción a R EstadísticaIIsistemas.fciencias.unam.mx/~misraim/r.pdf · Paraeliminarobjetosseutilizalaordenrm,porejemplo > rm(a, b, c, x1, x2) LosobjetoscreadosduranteunasesióndeR

Funciones comunes

FuncionesDescripción Simbolo

Raíz Cuadrada sqrtSuma sum

Valor absoluto absSeno , coseno sin, cosLogaritmo log

Exponencial ex expFactorial factorial

Números aleatorios Uniformes runifNúmeros aleatorios normales rnorm

Distribución nomal dnorm,pnorm, qnormVarianza, Covarianza var, covDesviación estandar sd

Correlación cor

Misraim Gutiérrez (Facultad de Ciencias) 8 / 96

Page 9: Introducción a R EstadísticaIIsistemas.fciencias.unam.mx/~misraim/r.pdf · Paraeliminarobjetosseutilizalaordenrm,porejemplo > rm(a, b, c, x1, x2) LosobjetoscreadosduranteunasesióndeR

Funciones Numéricas Simples

A continuación se muestran algunas funciones simples.

>sqrt(36)[1] 6

>abs(-2)[1] 2

log(2)[1] 0.6931472

> exp(4)[1] 54.59815

> sin(2+pi)-0.9092974

> cos(23)[1] -0.532833

> tan(2*pi)[1] -2.44921e-16

Misraim Gutiérrez (Facultad de Ciencias) 9 / 96

Page 10: Introducción a R EstadísticaIIsistemas.fciencias.unam.mx/~misraim/r.pdf · Paraeliminarobjetosseutilizalaordenrm,porejemplo > rm(a, b, c, x1, x2) LosobjetoscreadosduranteunasesióndeR

Vectores

R utiliza diferentes estructuras de datos. La estructura más simple es el vector,que es una colección ordenada de números. Para crear un vector, por ejemplo x,consistente en use la orden

x<- c(1, 1.5, 2, 2.5, 3)

Las asignaciones pueden realizarse también con la flecha apuntando a la derecha.Por lo que tambien se puede escribir de la forma

> c(10.4, 5.6, 3.1, 6.4, 21.7) -> x

Si escribimos> 1/x[1] 0.09615385 0.17857143 0.32258065 0.15625000 0.04608295Se obtienen los inversos de cada entrada del vector x

Misraim Gutiérrez (Facultad de Ciencias) 10 / 96

Page 11: Introducción a R EstadísticaIIsistemas.fciencias.unam.mx/~misraim/r.pdf · Paraeliminarobjetosseutilizalaordenrm,porejemplo > rm(a, b, c, x1, x2) LosobjetoscreadosduranteunasesióndeR

Sucesiones

En R existen varias formas para generar sucesiones númericas, por ejemplo

Operador :> 1:5[1] 1 2 3 4 5El operador : tiene prioridad en una expresión como la siguiente> 2*1:10[1] 2 4 6 8 10 12 14 16 18 20> n<-10> 1:(n-1)[1] 1 2 3 4 5 6 7 8 9

Misraim Gutiérrez (Facultad de Ciencias) 11 / 96

Page 12: Introducción a R EstadísticaIIsistemas.fciencias.unam.mx/~misraim/r.pdf · Paraeliminarobjetosseutilizalaordenrm,porejemplo > rm(a, b, c, x1, x2) LosobjetoscreadosduranteunasesióndeR

Función seq()Esta función genera sucesiones más complejas y tiene algunos argumentos como

from= valor inicialto= valor finalby= paso de la sucesiónlength=longitud de la sucesión

Por ejemplo> z<- seq(from=1, to= 30, by= 3)> z[1] 1 4 7 10 13 16 19 22 25 28> length(z)[1] 10

Misraim Gutiérrez (Facultad de Ciencias) 12 / 96

Page 13: Introducción a R EstadísticaIIsistemas.fciencias.unam.mx/~misraim/r.pdf · Paraeliminarobjetosseutilizalaordenrm,porejemplo > rm(a, b, c, x1, x2) LosobjetoscreadosduranteunasesióndeR

Función seq()Otro ejemplo de la función seq() sería> seq(-5, 5, by=0.2)->s3> s3[1] -5 -4.8 · · · -2.2[16] -2.0 -1.8 · · · 0.8[31] 1.0 1.2 · · · 3.8[46] 4.0 4.2 · · · 5.0Genera el vector c(-5, -4.8,. . .,4.8, 5.0 )

Misraim Gutiérrez (Facultad de Ciencias) 13 / 96

Page 14: Introducción a R EstadísticaIIsistemas.fciencias.unam.mx/~misraim/r.pdf · Paraeliminarobjetosseutilizalaordenrm,porejemplo > rm(a, b, c, x1, x2) LosobjetoscreadosduranteunasesióndeR

Ejemplos de Matrices

Ejemplo 1> d<- matrix(1:10, nrow=2, byrow=T)a #Matriz> d

[,1] [,2] [,3] [,4] [,5][1,] 1 2 3 4 5[2,] 6 7 8 9 10

abyrow=T, está pidiendo que la matriz se ordene por renglones

Ejemplo 2> z<-matrix(1:20, ncol=5) #Matriz> z

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

Misraim Gutiérrez (Facultad de Ciencias) 14 / 96

Page 15: Introducción a R EstadísticaIIsistemas.fciencias.unam.mx/~misraim/r.pdf · Paraeliminarobjetosseutilizalaordenrm,porejemplo > rm(a, b, c, x1, x2) LosobjetoscreadosduranteunasesióndeR

Ejemplos de Matrices

Ejemplo 3> z<-matrix(rnorm(12),4)> z

[,1] [,2] [,3][1,] -1.0477588 -1.7740875 0.7880992[2,] 0.1817206 0.1843170 -0.5081660[3,] -0.4223522 -0.9630552 0.5655456[4,] 0.8871649 -0.4387159 0.2488602

Misraim Gutiérrez (Facultad de Ciencias) 15 / 96

Page 16: Introducción a R EstadísticaIIsistemas.fciencias.unam.mx/~misraim/r.pdf · Paraeliminarobjetosseutilizalaordenrm,porejemplo > rm(a, b, c, x1, x2) LosobjetoscreadosduranteunasesióndeR

Sintaxis para Vectores y Matrices

Descripción Simbolo EjemploVector cero numeric(x) z<-numeric(x)Matriz cero matrix(0,n,m) x<-matrix(0,n,m)

i-ésimo elemento del vector a a[i] a[i]<-0j-ésima columna del la matriz A A[,j] sum(A[,j])

Entrada aij de la matriz A A[i,j] x<-A[i,j]Mutiplicacion de Matrices %*% x<- A%*% BTranspuesta de la matriz A t t(A)

Matriz inversa solve solve(A)

Misraim Gutiérrez (Facultad de Ciencias) 16 / 96

Page 17: Introducción a R EstadísticaIIsistemas.fciencias.unam.mx/~misraim/r.pdf · Paraeliminarobjetosseutilizalaordenrm,porejemplo > rm(a, b, c, x1, x2) LosobjetoscreadosduranteunasesióndeR

Funciones de Distribución

Distribución Nombre en R Argumentos (parámetros)Beta beta shape1, shape2, ncp

Binomial binom size, probCauchy cauchy location, scale

Ji-Cuadrada chisq df, ncpExponencial exp rate

F f df1, df1, ncpGamma gamma shape, scale

Geométrica geom probHipergeométrica hyper m, n, k

Log-normal lnorm meanlog, sdlogLogística logis location, scale

Binomial negativa nbinom size, probNormal norm mean, sdPoisson pois lambda

T t df, ncpUniforme unif min, maxWeibull weibull shape, scaleWilcoxon wilcox m, n

Misraim Gutiérrez (Facultad de Ciencias) 17 / 96

Page 18: Introducción a R EstadísticaIIsistemas.fciencias.unam.mx/~misraim/r.pdf · Paraeliminarobjetosseutilizalaordenrm,porejemplo > rm(a, b, c, x1, x2) LosobjetoscreadosduranteunasesióndeR

Para cada distribución, R soporta funciones que permiten calcular la función dedistribución, F (x)=P(X ≤ x), permite calcular cuantiles, la función de densidad ygenerar números pseudoaleatorios de la distribución.

Para construir el nombre de cada función, hay que utilizar el nombre de ladistribución precedido de las letras:

‘d’ para la función de densidad‘p’ para la función de distribución‘q’ para calcular algún cuantil‘r’ para generar números pseudoaleatorios

Misraim Gutiérrez (Facultad de Ciencias) 18 / 96

Page 19: Introducción a R EstadísticaIIsistemas.fciencias.unam.mx/~misraim/r.pdf · Paraeliminarobjetosseutilizalaordenrm,porejemplo > rm(a, b, c, x1, x2) LosobjetoscreadosduranteunasesióndeR

En R es sencillo evaluar alguna función, por ejemplo la densidad de la normalestandar

φ(x)= 1p2π

e−x2/2 para x = 2

> 1/sqrt(2*pi)*exp(-2)[1] 0.05399097en lugar de estar escribiendo las fórmulas de esta forma, R facilita las cosa, bastacon escribir> dnorm(2)[1] 0.05399097

Misraim Gutiérrez (Facultad de Ciencias) 19 / 96

Page 20: Introducción a R EstadísticaIIsistemas.fciencias.unam.mx/~misraim/r.pdf · Paraeliminarobjetosseutilizalaordenrm,porejemplo > rm(a, b, c, x1, x2) LosobjetoscreadosduranteunasesióndeR

Distribución BinomialSabemos que si X ∼Bin(n,p) su función de probabilidad es

P(X = x)=

(nx

)px (1−p)n−x si x = 0,1, . . . ,n

0 e.o.c

Para calcular el valor que toma la función de distribución en un cierto valor, porejemplo, x = 0, n= 10 y probabilidad p = 1/2 o x = 2, n= 20 y probabilidad p = 1/3podemos utilizar las siguientes lineas de código

> x<- 0> n<- 10> p<- 0.5> pbinom(x,n,p)[1] 0.0009765625

> x<- 2> n<- 20> p<- 1/3> pbinom(x,n,p)[1] 0.0546875

Misraim Gutiérrez (Facultad de Ciencias) 20 / 96

Page 21: Introducción a R EstadísticaIIsistemas.fciencias.unam.mx/~misraim/r.pdf · Paraeliminarobjetosseutilizalaordenrm,porejemplo > rm(a, b, c, x1, x2) LosobjetoscreadosduranteunasesióndeR

Distribución PoissonSi X ∼Poisson(λ) su función de probabilidad esta dada por

P(X = x)={

e−λ λx

x! si x = 0,1, . . .

0 e.o.c

Queremos calcular valores que toma la función de distribución para un cierto valorx y una cierta λ.

> x<-2> l<-1/2> dpois(x,l)[1] 0.07581633

> x<-100> l<-2/3> dpois(x,l)[1] 1.353134e-176

Misraim Gutiérrez (Facultad de Ciencias) 21 / 96

Page 22: Introducción a R EstadísticaIIsistemas.fciencias.unam.mx/~misraim/r.pdf · Paraeliminarobjetosseutilizalaordenrm,porejemplo > rm(a, b, c, x1, x2) LosobjetoscreadosduranteunasesióndeR

Distribución ExponencialSi X ∼ exp(λ) su función de densidad esta dada por

fX (x)={

λe−λx para x > 0

0 si x ≤ 0

Calcularemos el valor que toma la función de distribución para distintos valores dex y λ

> x<-5> l<- 1/2> pexp(x,l)[1] 0.917915

> x<-15> l<-2/5> pexp(x,l)[1] 0.9975212

Misraim Gutiérrez (Facultad de Ciencias) 22 / 96

Page 23: Introducción a R EstadísticaIIsistemas.fciencias.unam.mx/~misraim/r.pdf · Paraeliminarobjetosseutilizalaordenrm,porejemplo > rm(a, b, c, x1, x2) LosobjetoscreadosduranteunasesióndeR

Función sort()La función sort() nos permite ordenar datos en orden ascendente por ejemplo> z<-rnorm(20,0,1)> z[1] 0.93628286 -1.39570034 1.28577508 -1.49326245 -0.97826044 -0.21732865

[7] -1.26071179 0.74600006 -0.25445590 -0.12012232 -0.37061217 -2.03825519

[13] -0.78996640 0.56181197 2.47760047 0.97839840 -1.43885020 -0.43203742

[19] 0.99971017 -0.03361653

> sort(z)[1] -2.03825519 -1.49326245 -1.43885020 -1.39570034 -1.26071179 -0.97826044

[7] -0.78996640 -0.43203742 -0.37061217 -0.25445590 -0.21732865 -0.12012232

[13] -0.03361653 0.56181197 0.74600006 0.93628286 0.97839840 0.99971017

[19] 1.28577508 2.47760047

Misraim Gutiérrez (Facultad de Ciencias) 23 / 96

Page 24: Introducción a R EstadísticaIIsistemas.fciencias.unam.mx/~misraim/r.pdf · Paraeliminarobjetosseutilizalaordenrm,porejemplo > rm(a, b, c, x1, x2) LosobjetoscreadosduranteunasesióndeR

Estadística descriptiva

En R es facil calcular la media, desviación estandar, varianza y la mediana, porejemplo

> x<- rnorm(50) # 50 valores aleatorios de la distribución normal> mean(x) # calcula la media del objeto x[1] 0.03301363> sd(x) # calcula la desviación estandar del objeto x[1] 1.069454> var(x) # calcula la varianza del objeto x[1] 1.143731> median(x) # calcula la mediana del objeto x[1] -0.08682795

Misraim Gutiérrez (Facultad de Ciencias) 24 / 96

Page 25: Introducción a R EstadísticaIIsistemas.fciencias.unam.mx/~misraim/r.pdf · Paraeliminarobjetosseutilizalaordenrm,porejemplo > rm(a, b, c, x1, x2) LosobjetoscreadosduranteunasesióndeR

Cuantiles

Así como las medidas anteriores, se pueden calcular cuantiles de forma similar

> quantile(x) # calcula los principales cuantiles del objeto x0% 25% 50% 75% 100%

-2.4492579 -0.3372408 -0.1652667 0.2864415 2.2003089

Misraim Gutiérrez (Facultad de Ciencias) 25 / 96

Page 26: Introducción a R EstadísticaIIsistemas.fciencias.unam.mx/~misraim/r.pdf · Paraeliminarobjetosseutilizalaordenrm,porejemplo > rm(a, b, c, x1, x2) LosobjetoscreadosduranteunasesióndeR

Gráficas

R nos facilita poder obtener gráficas y detallarlas con un título, subtítulo, nombrarlos ejes e incluso poner texto dentro de las mismas gráficas.

Generar números aleatorios de una Uniforme> x<- runif(50,0,2) # genera 50 números aleatorios en el intervalo(0,2)> y<- runif(50,0,2) # genera 50 números aleatorios en el intervalo(0,2)> plot(x,y,main="Titulo", sub="Subtitulo", xlab="X",ylab="Y",axes=T) # grafica los objetos x y y> text(0.6,0.6,"texto (0.6,0.6)") # pone texto en la gráfica> abline(h=0.6,v=0.6) # pinta dos lineas referentes a la coordenada(0.6,0.6)

Misraim Gutiérrez (Facultad de Ciencias) 26 / 96

Page 27: Introducción a R EstadísticaIIsistemas.fciencias.unam.mx/~misraim/r.pdf · Paraeliminarobjetosseutilizalaordenrm,porejemplo > rm(a, b, c, x1, x2) LosobjetoscreadosduranteunasesióndeR

Misraim Gutiérrez (Facultad de Ciencias) 27 / 96

Page 28: Introducción a R EstadísticaIIsistemas.fciencias.unam.mx/~misraim/r.pdf · Paraeliminarobjetosseutilizalaordenrm,porejemplo > rm(a, b, c, x1, x2) LosobjetoscreadosduranteunasesióndeR

Histogramas

Generar números aleatorios de la Exponencial##EXPONENCIAL> n<-100000> t<-1/50> d<-rexp(n,t)> d> hist(d,prob=TRUE,col="blue",main="FunciónExponencial",xlab="Números generados", ylab="Densidad")> curve(dexp(x,1/50),add=TRUE,col="black",lty=2,lwd=2)

donde las ordeneslty = Tipo de línealwd= Ancho de línea

Misraim Gutiérrez (Facultad de Ciencias) 28 / 96

Page 29: Introducción a R EstadísticaIIsistemas.fciencias.unam.mx/~misraim/r.pdf · Paraeliminarobjetosseutilizalaordenrm,porejemplo > rm(a, b, c, x1, x2) LosobjetoscreadosduranteunasesióndeR

Misraim Gutiérrez (Facultad de Ciencias) 29 / 96

Page 30: Introducción a R EstadísticaIIsistemas.fciencias.unam.mx/~misraim/r.pdf · Paraeliminarobjetosseutilizalaordenrm,porejemplo > rm(a, b, c, x1, x2) LosobjetoscreadosduranteunasesióndeR

Ejemplos

Generar números aleatorios de la Normal##NORMAL> n<-1000> m<-2> sd<-0.5> d<-rnorm(n,m,sd)> d> hist(d,prob=TRUE,nclass=50,col="blue",main="NORMAL",ylim=c(0,0.8),xlab="Números generados", ylab="Densidad")> curve(dnorm(x,m,sd),add=TRUE,col="black",lty=35,lwd=2)

Misraim Gutiérrez (Facultad de Ciencias) 30 / 96

Page 31: Introducción a R EstadísticaIIsistemas.fciencias.unam.mx/~misraim/r.pdf · Paraeliminarobjetosseutilizalaordenrm,porejemplo > rm(a, b, c, x1, x2) LosobjetoscreadosduranteunasesióndeR

Misraim Gutiérrez (Facultad de Ciencias) 31 / 96

Page 32: Introducción a R EstadísticaIIsistemas.fciencias.unam.mx/~misraim/r.pdf · Paraeliminarobjetosseutilizalaordenrm,porejemplo > rm(a, b, c, x1, x2) LosobjetoscreadosduranteunasesióndeR

Función de distribución acumulada empírica

Dada una muestra aleatoria X1,X2, . . . ,Xn. Sea S(x) la función de distribuciónempírica o muestral basada en la muestra definida como la proporción de valoresmuestrales menores o iguales que el valor especificado x es decir

S(x)= número de valores muestrales ≤ xn

La función de distribución empírica se define en términos de las estadísticas deorden de la muestra, supongamos que las n observaciones muestrales sondistintas, entonces

S(x)=

0 si x <X(1)in si X(i) ≤ x <X(i+1)1 si X(n) ≤ x

Misraim Gutiérrez (Facultad de Ciencias) 32 / 96

Page 33: Introducción a R EstadísticaIIsistemas.fciencias.unam.mx/~misraim/r.pdf · Paraeliminarobjetosseutilizalaordenrm,porejemplo > rm(a, b, c, x1, x2) LosobjetoscreadosduranteunasesióndeR

Gráfica de la función empírica

Función ecdfSi tenemos una muestra aleatoria y queremos saber como se comporta la gráficade la función empírica, podemos utilizar la función ecdf la cual nos permitiráconocerla, por ejemplo si tenemos el vector

> x<-c(12,14,11,10,9,4,25,30,33,22)

Podemos graficar la distribución empírica de este vector con la siguiente línea decódigo

> plot(ecdf(x), col="blue", main="Distribución empírica",xlab="Valores ordenados")

Misraim Gutiérrez (Facultad de Ciencias) 33 / 96

Page 34: Introducción a R EstadísticaIIsistemas.fciencias.unam.mx/~misraim/r.pdf · Paraeliminarobjetosseutilizalaordenrm,porejemplo > rm(a, b, c, x1, x2) LosobjetoscreadosduranteunasesióndeR

Misraim Gutiérrez (Facultad de Ciencias) 34 / 96

Page 35: Introducción a R EstadísticaIIsistemas.fciencias.unam.mx/~misraim/r.pdf · Paraeliminarobjetosseutilizalaordenrm,porejemplo > rm(a, b, c, x1, x2) LosobjetoscreadosduranteunasesióndeR

Prueba Binomial

EjemploJuan supone que un dado se encuentra sesgado a favor del numero cuatro. Deciderealizar una prueba de hipótesis, cuando lanza el dado 15 veces y obtiene 6 vecesel cuatro. Realizar la prueba con α= 5%

SoluciónComo Juan supone que el dado esta sesgado a favor del número 4, podemoscontruir la hipótesis alternativa, por lo que tenemos el siguiente contraste:

H0 : p = 1/6 vs H1 : p > 1/6

definimos T el número de veces que salio el 4 (O1, numero de elementos de laclase 1), es decir, T = 6 y como n= 15, α= 5% y p∗ = 1/6 entoncesT ∼ bin(15,1/6)

Misraim Gutiérrez (Facultad de Ciencias) 35 / 96

Page 36: Introducción a R EstadísticaIIsistemas.fciencias.unam.mx/~misraim/r.pdf · Paraeliminarobjetosseutilizalaordenrm,porejemplo > rm(a, b, c, x1, x2) LosobjetoscreadosduranteunasesióndeR

Como las hipótesis se plantearon al caso de cola superior, buscamos un cuantil tde tal suerte que P(T ≥ t)= 0.05, o bien, P(T < t)= 0.95. Entonces en R podemoscalcular el cuantil usando las siguientes lineas de código:

> qbinom(c(0.05), size=15, prob=1/6, lower.tail=FALSE)[1] 5entonces el cuantil es t = 5. Sabemos que rechazamos H0 al nivel se significanciaα si: T ≥ t, es decir, 6≥ 5, entonces rechazamos H0.Valor ppv =P(T ≥ tobs)=P(T ≥ 6)=P(T > 5) se puede calcular con la siguiente línea decódigo> pbinom(c(5), size=15, prob=1/6, lower.tail=FALSE)[0.02739411]entonces 0.0274< 0.05 tenemos que rechazamos H0.Por lo tanto, podemos decirque el dado si esta sesgado a favor del 4.

Misraim Gutiérrez (Facultad de Ciencias) 36 / 96

Page 37: Introducción a R EstadísticaIIsistemas.fciencias.unam.mx/~misraim/r.pdf · Paraeliminarobjetosseutilizalaordenrm,porejemplo > rm(a, b, c, x1, x2) LosobjetoscreadosduranteunasesióndeR

Prueba de Kruskal-Wallis

La prueba no paramétrica de Kruskal-Wallis consiste en analizar k muestrasindependientes, para k ≥ 3. Si tenemos K muestras aleatorias independientesposiblemente de distintos tamaños de k poblaciones distintas.

Muestra 1 Muestra 2 · · · Muestra i · · · Muestra kX11 X21 Xi1 Xk1X12 X22 Xi2 Xk2...

......

...X1n1 X2n2 · · · Xini · · · Xknk

Donde se desea probarH0: Todas las k poblaciones tienenfunción de distribución idéntica

vs H1: Al menos una de las poblacionestiene una distribución diferente

Misraim Gutiérrez (Facultad de Ciencias) 37 / 96

Page 38: Introducción a R EstadísticaIIsistemas.fciencias.unam.mx/~misraim/r.pdf · Paraeliminarobjetosseutilizalaordenrm,porejemplo > rm(a, b, c, x1, x2) LosobjetoscreadosduranteunasesióndeR

Supongamos que tenemos tres 3 muestras independientes con los siguientes valores

Muestra 1 2.9, 3.0, 2.5, 2.6, 3.2Muestra 2 3.8, 2.7, 4.0, 2.4Muestra 3 2.8, 3.4, 3.7, 2.2, 2.0

R nos proporciona una manera rápida de obtener los resultados de esta prueba paraanalizar estas tres muestras de la siguiente manera:

> x <- c(2.9, 3.0, 2.5, 2.6, 3.2) # Observaciones de la muestra 1> y <- c(3.8, 2.7, 4.0, 2.4) # Observaciones de la muestra 2> z <- c(2.8, 3.4, 3.7, 2.2, 2.0) # Observaciones de la muestra 3> kruskal.test(list(x, y, z))

Obteniendo

Kruskal-Wallis rank sum test

data: list(x, y, z)Kruskal-Wallis chi-squared = 0.7714, df = 2, p-value = 0.68

dondechi-squared = Estadístico de pruebadf = Grados de libertad (degrees of freedom)

Misraim Gutiérrez (Facultad de Ciencias) 38 / 96

Page 39: Introducción a R EstadísticaIIsistemas.fciencias.unam.mx/~misraim/r.pdf · Paraeliminarobjetosseutilizalaordenrm,porejemplo > rm(a, b, c, x1, x2) LosobjetoscreadosduranteunasesióndeR

Prueba Ji-Cuadrada

Sean N observaciones de una v.a X con distribución FX (x) desconocida y dichasobservaciones se pueden clasifican en K clases o el número de resultados posiblesobtenidos al hacer cierto experimento, además las observaciones son una muestraaleatoria. Se necesita tener los datos a probar organizados en una tabla dedistribuciones de frecuencias. Sea

fj : el número de observaciones en la j-ésima clase

Misraim Gutiérrez (Facultad de Ciencias) 39 / 96

Page 40: Introducción a R EstadísticaIIsistemas.fciencias.unam.mx/~misraim/r.pdf · Paraeliminarobjetosseutilizalaordenrm,porejemplo > rm(a, b, c, x1, x2) LosobjetoscreadosduranteunasesióndeR

Hipótesis

H0 : FX (x)=F0(x) ∀ x vs H1 : FX (x) 6=F0(x) p.a x

donde F0(x) es la distribución completamente especificada que es propuesta por elinvestigador.a) Se calcula p∗j la probabilidad de que una observación de la v.a X este en la

clase j , bajo el supuesto de que la hipótesis nula H0 es verdadera (ladistribución que se quiere probar F0(x)).

b) Se calculan los valores esperados ej = p∗j N para j = 1,2, . . . ,K que representanlas frecuencias esperadas en un total de N observaciones del experimentobajo la hipótesis nula H0.

Misraim Gutiérrez (Facultad de Ciencias) 40 / 96

Page 41: Introducción a R EstadísticaIIsistemas.fciencias.unam.mx/~misraim/r.pdf · Paraeliminarobjetosseutilizalaordenrm,porejemplo > rm(a, b, c, x1, x2) LosobjetoscreadosduranteunasesióndeR

Estadístico de pruebaEl estadístico de prueba esta dado por:

Q =K∑j=1

(fj −ej )2

ej

Regla de decisiónRegla de decisiónEl estadístico Q se compara contra el cuantil χ2

(k−1,1−α). Rechazamos H0 al nivelde significancia α si:

Q >χ2(K−1),(1−α)

La Ji-Cuadrada es una aproximación que se puede usar con confianza cuandotodas las ej > 5. Si esto no ocurre, se sugiere colapsar clases adyacentes hasta queej > 5. El valor 5 es conservativo. Si se colapsan clases el cuantil χ2

(k−1,1−α) vaperdiendo grados de libertad así como cuando se estiman parámetros.

Misraim Gutiérrez (Facultad de Ciencias) 41 / 96

Page 42: Introducción a R EstadísticaIIsistemas.fciencias.unam.mx/~misraim/r.pdf · Paraeliminarobjetosseutilizalaordenrm,porejemplo > rm(a, b, c, x1, x2) LosobjetoscreadosduranteunasesióndeR

Ejemplo

La altura en centímetros, que ha ganado una conífera en su primer año despues de ser plantada,se denota por la variable X . El valor de X se mide con una m.a de 86 coníferas y los resultadosobtenidos fueron los siguientes:

X < 35 35-45 45-55 55-65 > 65 Totalfi 10 18 28 18 12 N = 86

Probar la hipótesis de que la variable aleatoria X se puede modelar usando una distribuciónN(50,152) con un nivel de significancia α= 5%.

SoluciónUsando el siguiente código obtendremos la solución:> w<-pnorm(c(35), mean=50, sd=15, lower.tail=TRUE)> w[1] 0.1586553# Primer valor esperado> e1<-w*86# P(X<= b) derechas de cada intervalo> x<- pnorm(c(45,55,65), mean=50, sd=15, lower.tail=TRUE)> x[1] 0.3694413 0.6305587 0.8413447

Misraim Gutiérrez (Facultad de Ciencias) 42 / 96

Page 43: Introducción a R EstadísticaIIsistemas.fciencias.unam.mx/~misraim/r.pdf · Paraeliminarobjetosseutilizalaordenrm,porejemplo > rm(a, b, c, x1, x2) LosobjetoscreadosduranteunasesióndeR

# P(X<= a) Probabilidades izquierdas de cada intervalo> y<- pnorm(c(35,45,55), mean=50, sd=15, lower.tail=TRUE)> y[1] 0.1586553 0.3694413 0.6305587# Valores esperados e2,e3,e4> e234<-(x-y)*86> e234[1] 18.12760 22.45609 18.12760# P(X>= 65)> z<-pnorm(c(65), mean=50, sd=15,lower.tail=FALSE)> z[1] 0.1586553# Valor esperado e5> e5<-z*85> ei<-c(e1, e234, e5)> ei[1] 13.64435 18.12760 22.45609 18.12760 13.48570

Misraim Gutiérrez (Facultad de Ciencias) 43 / 96

Page 44: Introducción a R EstadísticaIIsistemas.fciencias.unam.mx/~misraim/r.pdf · Paraeliminarobjetosseutilizalaordenrm,porejemplo > rm(a, b, c, x1, x2) LosobjetoscreadosduranteunasesióndeR

# Frecuencias> fi<-c(10,18,28,18,12)# Estadistico> Q<-sum((fi-ei)ˆ2/ei)> Q[1] 2.507534#Cuantil de Ji-Cuadrada> qchisq(c(0.95), df=4, lower.tail=TRUE)[1] 9.487729Rechazamos H0 al nivel de significancia α si: Q >χ(k−1,1−α), es decir,2.507532≯ 9.487729, entonces no rechazamos H0. Por lo tanto podemos decirque la distribución N(50,152) es un buen modelo para estos datos.

Misraim Gutiérrez (Facultad de Ciencias) 44 / 96

Page 45: Introducción a R EstadísticaIIsistemas.fciencias.unam.mx/~misraim/r.pdf · Paraeliminarobjetosseutilizalaordenrm,porejemplo > rm(a, b, c, x1, x2) LosobjetoscreadosduranteunasesióndeR

Prueba de Lilliefors para normalidad

En esta prueba se tiene X1,X2, . . . ,Xn, una muestra aleatoria de tamaño n de unapoblación con función de distribución desconocida. Se calculan la media ydesviación muestrales

X = 1n

n∑i=1

Xi y S =√√√√ 1

n−1

n∑i=1

(Xi −X )2

Se calculan los valores estandarizadosde la muestra

Zi =Xi −X

Si = 1,2, . . . ,n

Misraim Gutiérrez (Facultad de Ciencias) 45 / 96

Page 46: Introducción a R EstadísticaIIsistemas.fciencias.unam.mx/~misraim/r.pdf · Paraeliminarobjetosseutilizalaordenrm,porejemplo > rm(a, b, c, x1, x2) LosobjetoscreadosduranteunasesióndeR

Esta prueba es como la Prueba de Kolmogorov-Smirnov solo que la funciónempírica S(x) es de los valores estandarizados y no de los originales. Se deseaprobar las hipótesis

H0: La muestra aleatoria proviene deuna población con distribuciónnormal, con media y varianzadesconocidas

vsH1: La muestra aleatoria proviene deuna población con distribucióndistinta a la de una normal

EstadísticoEl estadístico de prueba esta dado por la máxima distancia vertical

T1 = supx

|F (x)−S(x)|

Rechazar H0 al nivel de significancia α si:

T1 > tn1−α

donde tn1−α es el cuantil que acumula (1−α)% de probabilidad y se busca entablas del estadístico de Lliliefors.

Misraim Gutiérrez (Facultad de Ciencias) 46 / 96

Page 47: Introducción a R EstadísticaIIsistemas.fciencias.unam.mx/~misraim/r.pdf · Paraeliminarobjetosseutilizalaordenrm,porejemplo > rm(a, b, c, x1, x2) LosobjetoscreadosduranteunasesióndeR

EjemploQuince estudiantes de primer año tenían puntuaciónes de rendimiento de lasiguiente manera

481 620 642 515 740562 395 615 596 618525 584 540 580 598

Pruebe para normalidad usando la prueba de Lilliefors usando un nivel designificancia α= 5%

Los cálculos para obtener el resultado de esta prueba serán en base a lastransparencias anteriores para familiarizarnos con las operaciones hasta elmomento vistas y el entorno de R.

Misraim Gutiérrez (Facultad de Ciencias) 47 / 96

Page 48: Introducción a R EstadísticaIIsistemas.fciencias.unam.mx/~misraim/r.pdf · Paraeliminarobjetosseutilizalaordenrm,porejemplo > rm(a, b, c, x1, x2) LosobjetoscreadosduranteunasesióndeR

Solución

Las siguientes líneas muestran una posible solución al ejemplo. Primerocalculamos X y S

## Datos> Xi<-c(481,562,525,620,395,584,642,615,540,515,596,580,740,618,598)##Media y Desviación> M<-mean(Xi)> M[1] 574.0667> S<-sd(Xi)> S[1] 78.8221

Misraim Gutiérrez (Facultad de Ciencias) 48 / 96

Page 49: Introducción a R EstadísticaIIsistemas.fciencias.unam.mx/~misraim/r.pdf · Paraeliminarobjetosseutilizalaordenrm,porejemplo > rm(a, b, c, x1, x2) LosobjetoscreadosduranteunasesióndeR

Ordenando los datos, estandarizandolos y evalundolos en la función F (x)=N(0,1)tenemos

## Datos ordenados> Xo<-sort(Xi)> Xo[1] 395 481 515 525 540 562 580 584 596 598 615 618 620 642 740

## Datos estandarizados ordenados> Zi<-(Xo-M)/S> Zi[1] -2.2717824 -1.1807179 -0.7493668 -0.6224988 -0.4321969 -0.1530873[7] 0.0752750 0.1260222 0.2782637 0.3036373 0.5193129 0.5573733[13] 0.5827469 0.8618564 2.1051625

## F(x)=N(0,1)> F<-pnorm(Zi,0,1)> F[1] 0.01154983 0.11885741 0.22681808 0.26680696 0.33279916 0.43916470[7] 0.53000204 0.55014282 0.60959505 0.61929790 0.69822872 0.71136379[13] 0.71996814 0.80561673 0.98236142

Misraim Gutiérrez (Facultad de Ciencias) 49 / 96

Page 50: Introducción a R EstadísticaIIsistemas.fciencias.unam.mx/~misraim/r.pdf · Paraeliminarobjetosseutilizalaordenrm,porejemplo > rm(a, b, c, x1, x2) LosobjetoscreadosduranteunasesióndeR

Como no hay empates podemos generar la función empírica con la función seq()y tomar las distancias de los datos ordenados y los evaluados en F (x)=N(0,1) dela siguiente manera## Distribución empírica> Em<-seq(1/15,1,1/15)> Em[1] 0.06666667 0.13333333 0.20000000 0.26666667 0.33333333 0.40000000[7] 0.46666667 0.53333333 0.60000000 0.66666667 0.73333333 0.80000000[13] 0.86666667 0.93333333 1.00000000## Diferencia |F(x)-S(x)|> D<-abs(F-Em)> D[1] 0.0551168392 0.0144759282 0.0268180775 0.0001402889 0.0005341699[6] 0.0391646962 0.0633353752 0.0168094838 0.0095950474 0.0473687677[11] 0.0351046181 0.0886362103 0.1466985249 0.1277166053 0.0176385830

Misraim Gutiérrez (Facultad de Ciencias) 50 / 96

Page 51: Introducción a R EstadísticaIIsistemas.fciencias.unam.mx/~misraim/r.pdf · Paraeliminarobjetosseutilizalaordenrm,porejemplo > rm(a, b, c, x1, x2) LosobjetoscreadosduranteunasesióndeR

Solo falta tomar el valor máximo de estos valores para saber quien es el estadísticoT = supx

∣∣F (x)−S(x)∣∣

## Supremo> Sup<-max(D)> Sup[1] 0.1466985y buscando en tablas del estadístico de Lilliefors el valor t150.95 = 0.219 y la regla dedecisión esta dada por T1 > tn1−α, es decir, 0.1466985249≯ 0.219. Por lo que se norechazamos la hipótesis H0, por lo tanto la muestra de los estudiantes proviene deuna distribución normal con media y varianza desconocida.

Misraim Gutiérrez (Facultad de Ciencias) 51 / 96

Page 52: Introducción a R EstadísticaIIsistemas.fciencias.unam.mx/~misraim/r.pdf · Paraeliminarobjetosseutilizalaordenrm,porejemplo > rm(a, b, c, x1, x2) LosobjetoscreadosduranteunasesióndeR

Prueba de Shapiro-Wilk para normalidad

Esta prueba consta de una muestra aleatoria de tamaño n, X1,X2, . . . ,Xn, unafunción F (x) desconocida. Se calcula el valor

D =n∑

i=1(Xi −X )2 =

n∑i=1

X 2i −nX

2

donde X es la media muestral.Se ordenan la muestra en orden ascendente

X(1) ≤X(2) ≤ ·· · ≤X(n)

Se buscan en tablas los coeficientes a1,a2, . . . ,ak donde k es aproximadamente n2 ,

para la muestra de tamaño n.

Misraim Gutiérrez (Facultad de Ciencias) 52 / 96

Page 53: Introducción a R EstadísticaIIsistemas.fciencias.unam.mx/~misraim/r.pdf · Paraeliminarobjetosseutilizalaordenrm,porejemplo > rm(a, b, c, x1, x2) LosobjetoscreadosduranteunasesióndeR

Queremos contrastar las hipótesis

H0: F (x) se distribuye normal conmedia y varianza desconocida

vs H1: F (x) no es una distribuciónnormal

EstadísticoSe calcula el estadístico

W = 1D

[n∑

i=1ai

(X(n−i+1)−X(i)

)]2

ObservaciónW cercano a 1 significa que la muestra se comporta como una muestra normal, siW es muy pequeño, lejos de 1, no se parece a la normal.

Misraim Gutiérrez (Facultad de Ciencias) 53 / 96

Page 54: Introducción a R EstadísticaIIsistemas.fciencias.unam.mx/~misraim/r.pdf · Paraeliminarobjetosseutilizalaordenrm,porejemplo > rm(a, b, c, x1, x2) LosobjetoscreadosduranteunasesióndeR

Rechazar H0 al nivel de significancia α si:

W <wnα

donde wnα es el cuantil que se busca en tablas del estadístico de Shapiro-Wilk.

R nos permite realizar este contraste de la siguiente manera:>z<-c(-1.79, 1.04, 0.46, 0.99, 0.27, 0.76, -0.43, -0.95, 0.14, 0.59)> shapiro.test(z)Obteniendo

Shapiro-Wilk normality testdata: zW = 0.8914, p-value = 0.1756dondeW=Estadístico de prueba

Misraim Gutiérrez (Facultad de Ciencias) 54 / 96

Page 55: Introducción a R EstadísticaIIsistemas.fciencias.unam.mx/~misraim/r.pdf · Paraeliminarobjetosseutilizalaordenrm,porejemplo > rm(a, b, c, x1, x2) LosobjetoscreadosduranteunasesióndeR

Prueba de Kolmogorov-Smirnov

Esta prueba se basa en las diferencias entre la hipotética función de distribuciónacumulada F ∗(x) y la función de distribución empírica de la muestra Sn(x) ∀ x .

Sea X1,X2, . . . ,Xn una m.a de una v.a X asociada a una función de distribucióndesconocida, denotada por FX (x).Sea F ∗(x) la función de distribución completamente especificada con la que seharan las hipótesis (H0). Para el caso de dos colas tenemos las hipótesis

H0 : FX (x)=F ∗(x) ∀x vs H1 : FX (x) 6=F ∗(x) p.a x

EstadísticoEl estadístico de prueba esta dado por

D = supx

|F ∗(x)−Sn(x)|

Regla de decisiónRechazar H0 si: D > tn1−α

Misraim Gutiérrez (Facultad de Ciencias) 55 / 96

Page 56: Introducción a R EstadísticaIIsistemas.fciencias.unam.mx/~misraim/r.pdf · Paraeliminarobjetosseutilizalaordenrm,porejemplo > rm(a, b, c, x1, x2) LosobjetoscreadosduranteunasesióndeR

EjemploDiez estudiantes realizan una prueba de 100 reactivos, obteniendo los siguientesresultados

95 80 40 52 60 80 82 58 65 50

Probar la hipótesis nula que la proporción de respuestas correctas esta dada por lafunción

F ∗(x)=

0 x < 0x2(3−2x) 0≤ x ≤ 11 x > 1

SoluciónPara la solución de este problema, nombramos un objeto con los datos de losestudiantes, generamos la funcion F ∗(x) y realizamos la prueba deKolmogorov-Smirnov. Tenemos las siguientes lineas de código.

Misraim Gutiérrez (Facultad de Ciencias) 56 / 96

Page 57: Introducción a R EstadísticaIIsistemas.fciencias.unam.mx/~misraim/r.pdf · Paraeliminarobjetosseutilizalaordenrm,porejemplo > rm(a, b, c, x1, x2) LosobjetoscreadosduranteunasesióndeR

> x<- c(0.4,0.5,0.52, 0.58, 0.60, 0.65, 0.8, 0.8, 0.82, 0.95)> F<-xˆ2*(3-2*x)> ks.test(x,F)

Por lo que R nos da los siguiente

Two-sample Kolmogorov-Smirnov test

data: x and FD = 0.3, p-value = 0.7591alternative hypothesis: two-sided

Warning message:In ks.test(x, F) : cannot compute correct p-values with ties

Misraim Gutiérrez (Facultad de Ciencias) 57 / 96

Page 58: Introducción a R EstadísticaIIsistemas.fciencias.unam.mx/~misraim/r.pdf · Paraeliminarobjetosseutilizalaordenrm,porejemplo > rm(a, b, c, x1, x2) LosobjetoscreadosduranteunasesióndeR

Si nuestro ploblema fuera realizar la prueba de dos colas con una funciónF ∗(x)=N(5,6,122) y teniendo la muestra

4.8 6.2 6.0 5.9 6.6 5.5 5.8 5.9 6.3 6.6 6.2 5.0

tendríamos las siguientes lineas de código

> x<-c(4.8, 6.2, 6.0, 5.9, 6.6, 5.5, 5.8, 5.9, 6.3, 6.6, 6.2, 5.0)> ks.test(x, pnorm, mean=5.6, sd=1.2)

Obteniendo el siguiente resultado

One-sample Kolmogorov-Smirnov test

data: xD = 0.3162, p-value = 0.1814alternative hypothesis: two-sided

Warning message:In ks.test(x, pnorm, mean = 5.6, sd = 1.2) :cannot compute correct p-values with ties

Misraim Gutiérrez (Facultad de Ciencias) 58 / 96

Page 59: Introducción a R EstadísticaIIsistemas.fciencias.unam.mx/~misraim/r.pdf · Paraeliminarobjetosseutilizalaordenrm,porejemplo > rm(a, b, c, x1, x2) LosobjetoscreadosduranteunasesióndeR

Lectura de archivos

En R es muy sencillo la lectura de archivos externos. El usuario puede utilizareditores de texto para llevar a cabo este tipo de acciones.

Función read.table()Para poder leer una hoja de datos directamente, el archivo externo debe reunir lascondiciones adecuadas. La forma más sencilla es:

La primer línea del archivo debe contener el nombre de cada variable de lahoja de datos.En cada una de las siguientes líneas, el primer elemento es la etiqueta de lafila, y a continuación deben aparecer los valores de cada variable.

Así, el archivo tiene la forma siguiente:

Precio Superficie Área01 52 111 83002 54 128 71003 56 147 987

Misraim Gutiérrez (Facultad de Ciencias) 59 / 96

Page 60: Introducción a R EstadísticaIIsistemas.fciencias.unam.mx/~misraim/r.pdf · Paraeliminarobjetosseutilizalaordenrm,porejemplo > rm(a, b, c, x1, x2) LosobjetoscreadosduranteunasesióndeR

Las instrucciones para realizar la lectura de un archivo con extensión .txt es lasiguiente:

En Windows> casas<- read.table("G:/home/mizra/archivo.txt")

En Linux> casas<- read.table("/home/mizra/archivo.txt")

Misraim Gutiérrez (Facultad de Ciencias) 60 / 96

Page 61: Introducción a R EstadísticaIIsistemas.fciencias.unam.mx/~misraim/r.pdf · Paraeliminarobjetosseutilizalaordenrm,porejemplo > rm(a, b, c, x1, x2) LosobjetoscreadosduranteunasesióndeR

En ocasiones no se dispone de etiquetas por renglón. En este caso tambien esposible la lectura de los datos y R añadirá unas etiquetas predeterminadas. Así, elarchivo tendra la siguiente forma:

Precio Superficie Área52 111 83054 128 71056 147 987

el cual podrá leerse utilizando un parámetro adicional.

En Windows> casas<- read.table("G:/home/mizra/archivo.txt", header=T)

En Linux> casas<- read.table("/home/mizra/archivo.txt", header=T)

donde el parámetro adicional, header=T, indica que la primera línea es una línea decabeceras y que no existen etiquetas por filas.

Misraim Gutiérrez (Facultad de Ciencias) 61 / 96

Page 62: Introducción a R EstadísticaIIsistemas.fciencias.unam.mx/~misraim/r.pdf · Paraeliminarobjetosseutilizalaordenrm,porejemplo > rm(a, b, c, x1, x2) LosobjetoscreadosduranteunasesióndeR

Como leer una un archivo de Excel y OpenOffice

Función attach()La función attach() puede tener como argumento el nombre de una lista o deuna hoja de datos y permite conectar la lista o la hoja de datos directamente.

Función read.csv()La función read.csv() nos ayudará para poder leer un archivo desde Excel. Laindicación necesaria es guardar una copia de nuestro archivo de Excela conextención .csv

aEn Linux el trabajo se puede hacer en una hoja de cálculo de OpenOffice

Misraim Gutiérrez (Facultad de Ciencias) 62 / 96

Page 63: Introducción a R EstadísticaIIsistemas.fciencias.unam.mx/~misraim/r.pdf · Paraeliminarobjetosseutilizalaordenrm,porejemplo > rm(a, b, c, x1, x2) LosobjetoscreadosduranteunasesióndeR

Teniendo ya una copia de nuestro archivo con extensión .cvs las instruccionespara cargar nuestro archivo de Excel en R son las siguientes:

En Windowsdata<-read.csv("G:/home/mizra/mieloma.csv")attach(data)data

En Linuxdata<-read.csv("/home/mizra/mieloma.csv")attach(data)data

Misraim Gutiérrez (Facultad de Ciencias) 63 / 96

Page 64: Introducción a R EstadísticaIIsistemas.fciencias.unam.mx/~misraim/r.pdf · Paraeliminarobjetosseutilizalaordenrm,porejemplo > rm(a, b, c, x1, x2) LosobjetoscreadosduranteunasesióndeR

Si nosotros estamos interesados solo en algunos datos de nuestra hoja de cálculo,por decir los primeros 8 pacientes, R nos proporciona una manera sencilla parausar estos datos. Se tiene que seleccionar la parte que se requiere de nuestra hojade cálculo y copiarla

Misraim Gutiérrez (Facultad de Ciencias) 64 / 96

Page 65: Introducción a R EstadísticaIIsistemas.fciencias.unam.mx/~misraim/r.pdf · Paraeliminarobjetosseutilizalaordenrm,porejemplo > rm(a, b, c, x1, x2) LosobjetoscreadosduranteunasesióndeR

Enseguida se escriben las siguientes instrucciones

En Windowsdata<-read.table(" clipboard")data

En linuxdata<-read.table("clipboard")data

Obteniendo> data<-read.table("clipboard")> data

V1 V2 V3 V41 t estatus x1 x22 18 1 0 03 9 1 0 14 28 0 0 05 31 1 0 16 39 0 0 17 19 0 0 18 45 0 0 1

Misraim Gutiérrez (Facultad de Ciencias) 65 / 96

Page 66: Introducción a R EstadísticaIIsistemas.fciencias.unam.mx/~misraim/r.pdf · Paraeliminarobjetosseutilizalaordenrm,porejemplo > rm(a, b, c, x1, x2) LosobjetoscreadosduranteunasesióndeR

Gráficos

R es un paquete muy importante y versátil en cuestiones gráficas. Es posibleutilizarlas para mostrar una amplia variedad de gráficos estadísticos. En R existeuna lista de parámetros gráficos que pueden utilizarse para adaptar los gráficos.

Ordenes gráficasDos grupos de ordenes gráficas son:

Alto nivel. Son funciones que crean un nuevo gráfico, posiblemente con ejes,etiquetas, títulos, etcBajo nivel. Son funciones que añaden información a un gráfico existente,tales como puntos adicionales, líneas, curvas y etiquetas

Misraim Gutiérrez (Facultad de Ciencias) 66 / 96

Page 67: Introducción a R EstadísticaIIsistemas.fciencias.unam.mx/~misraim/r.pdf · Paraeliminarobjetosseutilizalaordenrm,porejemplo > rm(a, b, c, x1, x2) LosobjetoscreadosduranteunasesióndeR

Argumentos para gráficos de alto nivel

Existe una serie de argumentos que pueden usarse en los gráficos de alto nivel.

add=TRUEObliga a la función a comportarse como una función de nivel bajo, de modo que elgráfico que genere se superpondrá al gráfico actual, en lugar de borrarlo (solo enalgunas funciones)

axes=FALSEImpide que se generen los ejes. Útil para generar ejes personalizados usando lafunción axis. El valor predeterminado es axes=TRUE, que incluye los ejes.

main="cadena"Pone el título del gráfico, aparece en la parte superior con tamaño de letra grande.

Misraim Gutiérrez (Facultad de Ciencias) 67 / 96

Page 68: Introducción a R EstadísticaIIsistemas.fciencias.unam.mx/~misraim/r.pdf · Paraeliminarobjetosseutilizalaordenrm,porejemplo > rm(a, b, c, x1, x2) LosobjetoscreadosduranteunasesióndeR

sub="cadena"Pone un subtítulo al gráfico, aparece abajo del eje X con tamaño de letra pequeño

type=Este argumento controla el tipo de gráfico producido, de acuerdo a las siguientesinstrucciones:

type="p" Dibuja puntos individuales, este es el valor predeterminadotype="l" Dibuja líneastype="b" Dibuja puntos y lineas que los unentype=" o" Dibuja puntos y lineas que los unen, cubriéndolostype="h" Dibuja líneas verticales desde cada punto al eje Xtype="s" Dibuja un gráfico de escalera que comienza hacia la derecha

Misraim Gutiérrez (Facultad de Ciencias) 68 / 96

Page 69: Introducción a R EstadísticaIIsistemas.fciencias.unam.mx/~misraim/r.pdf · Paraeliminarobjetosseutilizalaordenrm,porejemplo > rm(a, b, c, x1, x2) LosobjetoscreadosduranteunasesióndeR

Función plot()Como ya hemos visto, una de las funciones gráficas más útiles en R es la funciónplot(), que es una función genérica, es decir, el tipo de gráfico producidodepende de la clase del primer argumento.

Por ejemplo, si x e y son vectores> x<-c(12,11,35,15,44,1,145,87,65,21,44)> y<-c(15,44,78,65,32,52,88,17,24,51,61)> plot(x,y)

Misraim Gutiérrez (Facultad de Ciencias) 69 / 96

Page 70: Introducción a R EstadísticaIIsistemas.fciencias.unam.mx/~misraim/r.pdf · Paraeliminarobjetosseutilizalaordenrm,porejemplo > rm(a, b, c, x1, x2) LosobjetoscreadosduranteunasesióndeR

Produce un digrama de dispersión de y sobre x

Misraim Gutiérrez (Facultad de Ciencias) 70 / 96

Page 71: Introducción a R EstadísticaIIsistemas.fciencias.unam.mx/~misraim/r.pdf · Paraeliminarobjetosseutilizalaordenrm,porejemplo > rm(a, b, c, x1, x2) LosobjetoscreadosduranteunasesióndeR

Otras representaciones gráficasGráficos de comparación de distribuciones

Existen otras funciones gráficas que producen otros tipos de gráficos, para podercomparar distribuciones.

qqnorm(x)Representa el vector x sobre los valores esperados normales

qqline(x)Añade una recta que pasa por los cuantiles de la distribución y de los datos.

qqplot()Esta función nos permitirá analizar mediante un gráfico conocido comocuantil-cuantil o “Q-Q plot” examinar datos cuidadosamente, comparando lasdistribuciones de distintos objetos.

Misraim Gutiérrez (Facultad de Ciencias) 71 / 96

Page 72: Introducción a R EstadísticaIIsistemas.fciencias.unam.mx/~misraim/r.pdf · Paraeliminarobjetosseutilizalaordenrm,porejemplo > rm(a, b, c, x1, x2) LosobjetoscreadosduranteunasesióndeR

Por ejemplo, si generamos 50 números pseudoaleatorios normales y exponenciales,y hacemos la gráfica Q-Q plot de la siguiente manera> z<-rnorm(50,0,1)> y<-rexp(50,0.5)> qqplot(z,y, main="Q-Q plot", xlab=" exp", ylab="norm", pch=20)> qqline(y)

Misraim Gutiérrez (Facultad de Ciencias) 72 / 96

Page 73: Introducción a R EstadísticaIIsistemas.fciencias.unam.mx/~misraim/r.pdf · Paraeliminarobjetosseutilizalaordenrm,porejemplo > rm(a, b, c, x1, x2) LosobjetoscreadosduranteunasesióndeR

Gráficas de cajas

Función boxplot()Esta función nos permitirá comparar gráficamente dos muestras mediante undiagrama de cajas.

Por ejemplo, si tenemos dos métodos con los siguientes valores

Método A: 79.98, 80.04, 80.02, 80.04, 80.03, 80.03, 80.04, 79.97, 80.05, 80.03, 80.02,80.00, 80.02

Método B: 80.02, 79.94, 79.98, 79.97, 79.97, 80.03, 79.95, 79.97

Queremos comparar gráficamente estos dos métodos. Generando dos vectores con estosvalores y utilizando la función boxplot()

>A<-c(79.98, 80.04, 80.02, 80.04, 80.03, 80.03, 80.04, 79.97, 80.05,80.03, 80.02, 80.00, 80.02)>B<-c(80.02, 79.94, 79.98, 79.97, 79.97, 80.03, 79.95, 79.97)>boxplot(A,B)

Misraim Gutiérrez (Facultad de Ciencias) 73 / 96

Page 74: Introducción a R EstadísticaIIsistemas.fciencias.unam.mx/~misraim/r.pdf · Paraeliminarobjetosseutilizalaordenrm,porejemplo > rm(a, b, c, x1, x2) LosobjetoscreadosduranteunasesióndeR

Obtenemos

cuyo gráfico nos muestra que el primer grupo tiende a tener mayores resultadosque el segundo grupo.

Misraim Gutiérrez (Facultad de Ciencias) 74 / 96