Este documento presenta una introducción a conceptos básicos de estadística descriptiva como media, mediana, moda y rango utilizando el lenguaje R. Explica cómo calcular estas medidas con funciones como mean(), median() y range(), así como conceptos como varianza, desviación estándar y cuantiles. También cubre el uso de funciones como apply(), lapply() y sapply() para aplicar operaciones estadísticas a vectores y listas.
Tarea 5_ Foro _Selección de herramientas digitales_Manuel.pdf
Estadística descriptiva R
1. Media, mediana, moda y rango Cuantiles Varianza y desviaci´on est´andar Funciones apply, lapply y lapply
Sesi´on 2. Estad´ıstica descriptiva en R
Margarito Soriano Montero
sorianomm@gmail.com
24 de abril de 2013
Margarito Soriano Montero sorianomm@gmail.com
Sesi´on 2. Estad´ıstica descriptiva en R
2. Media, mediana, moda y rango Cuantiles Varianza y desviaci´on est´andar Funciones apply, lapply y lapply
Media, mediana, moda y rango
Cuantiles
Varianza y desviaci´on est´andar
Funciones apply, lapply y lapply
Margarito Soriano Montero sorianomm@gmail.com
Sesi´on 2. Estad´ıstica descriptiva en R
3. Media, mediana, moda y rango Cuantiles Varianza y desviaci´on est´andar Funciones apply, lapply y lapply
Media aritm´etica en R
> # Se ingresan los datos a R
> x<-c(13, 18, 13, 14, 13, 16, 14, 21, 13);
> # La funcion para calcular la media es: mean();
> mean(x);
[1] 15
Otra forma de calcular la media
> sum(x)/length(x);
[1] 15
Margarito Soriano Montero sorianomm@gmail.com
Sesi´on 2. Estad´ıstica descriptiva en R
4. Media, mediana, moda y rango Cuantiles Varianza y desviaci´on est´andar Funciones apply, lapply y lapply
Mediana en R
> # La funcion para calcular la mediana es: median();
> median(x);
[1] 14
Otra forma de determinar la mediana
> x;
[1] 13 18 13 14 13 16 14 21 13
> sort(x); # Ordena el vector x de forma ascendente
[1] 13 13 13 13 14 14 16 18 21
> sort(x)[5];
[1] 14
Margarito Soriano Montero sorianomm@gmail.com
Sesi´on 2. Estad´ıstica descriptiva en R
5. Media, mediana, moda y rango Cuantiles Varianza y desviaci´on est´andar Funciones apply, lapply y lapply
Moda en R
> x.tabla <- table(x); # Se calcula una tabla de frecuencia
> x.tabla; # Muestra la tabla
x
13 14 16 18 21
4 2 1 1 1
> n <- length(x.tabla); # Longitud de la tabla
> n;
[1] 5
> x.tabla.or<-sort(x.tabla); # se ordena la tabla
> x.tabla.or;
x
16 18 21 14 13
1 1 1 2 4
Margarito Soriano Montero sorianomm@gmail.com
Sesi´on 2. Estad´ıstica descriptiva en R
6. Media, mediana, moda y rango Cuantiles Varianza y desviaci´on est´andar Funciones apply, lapply y lapply
Moda en R
> # Extraer el n´umero con mayor frecuencia
> names(x.tabla.or)[n];
[1] "13"
Margarito Soriano Montero sorianomm@gmail.com
Sesi´on 2. Estad´ıstica descriptiva en R
7. Media, mediana, moda y rango Cuantiles Varianza y desviaci´on est´andar Funciones apply, lapply y lapply
Rango en R
Una forma de calcular el rango de un conjunto de datos es la
siguiente
> x;
[1] 13 18 13 14 13 16 14 21 13
> max(x)-min(x);
[1] 8
Otra forma es,
> range(x); # calcula los valores m´ınimo y m´aximo
[1] 13 21
> diff(range(x)); # Calcula la diferencia entre los dos val
[1] 8
> range(x)[2]-range(x)[1]
[1] 8
Margarito Soriano Montero sorianomm@gmail.com
Sesi´on 2. Estad´ıstica descriptiva en R
8. Media, mediana, moda y rango Cuantiles Varianza y desviaci´on est´andar Funciones apply, lapply y lapply
Creando una funci´on para calcular el rango
Una forma directa de calcular el rango es definir una funci´on en R
> rango<-function(datos) {
+ rd <-range(datos);
+ difd<-diff(rd);
+ print(difd);
+ }
> rango(x);
[1] 8
Margarito Soriano Montero sorianomm@gmail.com
Sesi´on 2. Estad´ıstica descriptiva en R
9. Media, mediana, moda y rango Cuantiles Varianza y desviaci´on est´andar Funciones apply, lapply y lapply
Cuantiles
La sintaxis para calcular los cuantiles es:
quantile(x, probs = seq(0, 1, 0.25), ...)
donde: x: conjunto de datos y probs : vector num´erico de
probabilidades
Ejemplo,
> set.seed(12); # semilla para la generacion de numeros ale
> x<-rnorm(1000);
> quantile(x); # Por defecto calcula los cuantiles 0, 0.25,
0% 25% 50% 75% 100%
-3.04577479 -0.63491781 -0.04120795 0.56450186 3.10723731
Margarito Soriano Montero sorianomm@gmail.com
Sesi´on 2. Estad´ıstica descriptiva en R
10. Media, mediana, moda y rango Cuantiles Varianza y desviaci´on est´andar Funciones apply, lapply y lapply
Cuantiles
Ejemplo continuaci´on
> # Para calcular los cuantiles de nuesto inter´es,
> # los especificamos en el vector prob
> quantile(x,prob=c(0.1,0.5,1,2,5,10,50,100)/100);
0.1% 0.5% 1% 2% 5%
-2.98651539 -2.49307393 -2.28311119 -2.00292434 -1.56595458
Margarito Soriano Montero sorianomm@gmail.com
Sesi´on 2. Estad´ıstica descriptiva en R
11. Media, mediana, moda y rango Cuantiles Varianza y desviaci´on est´andar Funciones apply, lapply y lapply
Varianza
Ejemplo de calculo de varianza y desviaci´on est´andar en R
> # Muestra aleatoria de la distribucion normal con
> # media = 10 y desv. est.= 2
> y<- rnorm(100, mean = 10, sd = 2);
> # varianza
> var(y);
[1] 3.659768
> # desviacion estandar
> sd(y);
[1] 1.913052
Margarito Soriano Montero sorianomm@gmail.com
Sesi´on 2. Estad´ıstica descriptiva en R
12. Media, mediana, moda y rango Cuantiles Varianza y desviaci´on est´andar Funciones apply, lapply y lapply
apply
apply aplica una funci´on a las filas o columnas de una matriz. La
sintaxis es: apply(X, MARGIN, FUN, ...)
donde, X: matriz de datos; MARGIN= 1 indica filas, 2 indica
columnas y c(1,2) indica filas y columnas; FUN: funci´on a aplicar
> #Ejemplo. Generar 5 vectores de dimension 50 de la
> # distribucion normal
> # con medias 0, 5, 10, 15, 20
> # y desviacion estandar 1, 2, 3, 4, 5
> x1 <- rnorm(50, mean=0, sd=1);
> x2 <- rnorm(50, mean=5, sd=2);
> x3 <- rnorm(50, mean=10, sd=3);
> x4 <- rnorm(50, mean=15, sd=4);
> x5 <- rnorm(50, mean=20, sd=5);
Margarito Soriano Montero sorianomm@gmail.com
Sesi´on 2. Estad´ıstica descriptiva en R
13. Media, mediana, moda y rango Cuantiles Varianza y desviaci´on est´andar Funciones apply, lapply y lapply
apply
Ejemplo continuaci´on
> # Crear una matriz de dimension 50 x 5
> # con los vectores anteriores, y asignar esta
> # matriz a la variable x
> x<-cbind(x1,x2,x3,x4,x5);
> head(x); #muestra las primeras filas de x
x1 x2 x3 x4 x5
[1,] -0.4147751 4.459986 8.746620 20.521973 20.68233
[2,] 1.0788378 8.278230 8.427667 6.198555 16.59305
[3,] 0.8324233 8.895861 8.899145 22.131132 18.54204
[4,] 0.1352325 6.254919 6.297430 18.813274 14.73929
[5,] -0.1354791 3.566273 10.032705 9.649584 16.65158
[6,] -1.1039799 2.590230 10.592806 18.950400 27.12586
Margarito Soriano Montero sorianomm@gmail.com
Sesi´on 2. Estad´ıstica descriptiva en R
14. Media, mediana, moda y rango Cuantiles Varianza y desviaci´on est´andar Funciones apply, lapply y lapply
apply
Ejemplo continuaci´on
> # calcular la media de cada columna de x
> apply(x,2, mean);
x1 x2 x3 x4 x5
-0.05236144 5.11261832 9.30706767 15.36335304 20.90756627
> # calcular la varianza por columna
> apply(x,2,var);
x1 x2 x3 x4 x5
0.9891233 4.2028031 8.3374942 19.9909824 31.4267059
Margarito Soriano Montero sorianomm@gmail.com
Sesi´on 2. Estad´ıstica descriptiva en R
15. Media, mediana, moda y rango Cuantiles Varianza y desviaci´on est´andar Funciones apply, lapply y lapply
apply
Ejercicio. Calcular por columna los cuartiles: 0.25, 0.5, 0.75
Margarito Soriano Montero sorianomm@gmail.com
Sesi´on 2. Estad´ıstica descriptiva en R
16. Media, mediana, moda y rango Cuantiles Varianza y desviaci´on est´andar Funciones apply, lapply y lapply
apply
Ejercicio. Calcular por columna los cuartiles: 0.25, 0.5, 0.75
> apply(x,2,quantile, probs=c(0.25, 0.5, 0.75));
x1 x2 x3 x4 x5
25% -0.8214325 3.573024 7.310347 12.60262 16.91142
50% -0.1327550 5.324768 9.282677 15.38884 20.70361
75% 0.7080382 6.487713 10.890439 18.53225 25.35737
Margarito Soriano Montero sorianomm@gmail.com
Sesi´on 2. Estad´ıstica descriptiva en R
17. Media, mediana, moda y rango Cuantiles Varianza y desviaci´on est´andar Funciones apply, lapply y lapply
lapply
La funci´on lapply es similar a la funci´on apply, pero act´ua sobre
listas. Su sintaxis es lapply(lista,funcion)
> v1 <- log(5:9); #vector de dimension 5
> v2 <- exp((1:8)/10); #vector de dimension 8
> # Crear una lista con los vectores v1 y v2
> lista <-list(v1,v2);
> lista;
[[1]]
[1] 1.609438 1.791759 1.945910 2.079442 2.197225
[[2]]
[1] 1.105171 1.221403 1.349859 1.491825 1.648721 1.822119 2
Margarito Soriano Montero sorianomm@gmail.com
Sesi´on 2. Estad´ıstica descriptiva en R
18. Media, mediana, moda y rango Cuantiles Varianza y desviaci´on est´andar Funciones apply, lapply y lapply
lapply
Para calcular la media de cada vector de la lista
> lapply(lista, mean);
[[1]]
[1] 1.924755
[[2]]
[1] 1.609799
Margarito Soriano Montero sorianomm@gmail.com
Sesi´on 2. Estad´ıstica descriptiva en R
19. Media, mediana, moda y rango Cuantiles Varianza y desviaci´on est´andar Funciones apply, lapply y lapply
lapply
Ejercicio. Calcular los cuantiles 0.25 y 0.75 de cada vector de la
lista
> lista2 <- list(x1,x2,x3,x4,x5)
Margarito Soriano Montero sorianomm@gmail.com
Sesi´on 2. Estad´ıstica descriptiva en R
20. Media, mediana, moda y rango Cuantiles Varianza y desviaci´on est´andar Funciones apply, lapply y lapply
lapply
Soluci´on. Calcular los cuantiles 0.25 y 0.75 de cada vector de la
lista
> lapply(lista2,quantile, probs=c(0.25,0.75));
[[1]]
25% 75%
-0.8214325 0.7080382
[[2]]
25% 75%
3.573024 6.487713
[[3]]
25% 75%
7.310347 10.890439
[[4]]
Margarito Soriano Montero sorianomm@gmail.com
Sesi´on 2. Estad´ıstica descriptiva en R
21. Media, mediana, moda y rango Cuantiles Varianza y desviaci´on est´andar Funciones apply, lapply y lapply
sapply
sapply es la versi´on amigable de lapply. Devuelve un vector o una
matriz
> sapply(lista2,quantile, probs=c(0.25,0.75));
[,1] [,2] [,3] [,4] [,5]
25% -0.8214325 3.573024 7.310347 12.60262 16.91142
75% 0.7080382 6.487713 10.890439 18.53225 25.35737
> sapply(lista2,quantile, probs=c(0.75));
75% 75% 75% 75% 75%
0.7080382 6.4877125 10.8904394 18.5322472 25.3573654
Margarito Soriano Montero sorianomm@gmail.com
Sesi´on 2. Estad´ıstica descriptiva en R