5.1 Medidas resumen
5.1.1 Datos de ejemplo
El fichero empleados.RData contiene datos de empleados de un banco que utilizaremos, entre otros, a modo de ejemplo.
load("datos/empleados.RData")
data.frame(Etiquetas = attr(empleados, "variable.labels")) # Listamos las etiquetas
## Etiquetas
## id Código de empleado
## sexo Sexo
## fechnac Fecha de nacimiento
## educ Nivel educativo (años)
## catlab Categoría Laboral
## salario Salario actual
## salini Salario inicial
## tiempemp Meses desde el contrato
## expprev Experiencia previa (meses)
## minoria Clasificación étnica
## sexoraza Clasificación por sexo y raza
Para hacer referencia directamente a las variables de empleados
attach(empleados)
5.1.2 Tablas de frecuencias
table(sexo)
## sexo
## Hombre Mujer
## 258 216
prop.table(table(sexo))
## sexo
## Hombre Mujer
## 0.5443038 0.4556962
table(sexo,catlab)
## catlab
## sexo Administrativo Seguridad Directivo
## Hombre 157 27 74
## Mujer 206 0 10
prop.table(table(sexo,catlab))
## catlab
## sexo Administrativo Seguridad Directivo
## Hombre 0.33122363 0.05696203 0.15611814
## Mujer 0.43459916 0.00000000 0.02109705
prop.table(table(sexo,catlab), 1)
## catlab
## sexo Administrativo Seguridad Directivo
## Hombre 0.6085271 0.1046512 0.2868217
## Mujer 0.9537037 0.0000000 0.0462963
prop.table(table(sexo,catlab), 2)
## catlab
## sexo Administrativo Seguridad Directivo
## Hombre 0.4325069 1.0000000 0.8809524
## Mujer 0.5674931 0.0000000 0.1190476
table(catlab,educ,sexo)
## , , sexo = Hombre
##
## educ
## catlab 8 12 14 15 16 17 18 19 20 21
## Administrativo 10 48 6 78 10 2 2 1 0 0
## Seguridad 13 13 0 1 0 0 0 0 0 0
## Directivo 0 1 0 4 25 8 7 26 2 1
##
## , , sexo = Mujer
##
## educ
## catlab 8 12 14 15 16 17 18 19 20 21
## Administrativo 30 128 0 33 14 1 0 0 0 0
## Seguridad 0 0 0 0 0 0 0 0 0 0
## Directivo 0 0 0 0 10 0 0 0 0 0
round(prop.table(table(catlab,educ,sexo)),2)
## , , sexo = Hombre
##
## educ
## catlab 8 12 14 15 16 17 18 19 20 21
## Administrativo 0.02 0.10 0.01 0.16 0.02 0.00 0.00 0.00 0.00 0.00
## Seguridad 0.03 0.03 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
## Directivo 0.00 0.00 0.00 0.01 0.05 0.02 0.01 0.05 0.00 0.00
##
## , , sexo = Mujer
##
## educ
## catlab 8 12 14 15 16 17 18 19 20 21
## Administrativo 0.06 0.27 0.00 0.07 0.03 0.00 0.00 0.00 0.00 0.00
## Seguridad 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
## Directivo 0.00 0.00 0.00 0.00 0.02 0.00 0.00 0.00 0.00 0.00
Si la variable es ordinal, entonces también son de interés las frecuencias acumuladas
table(educ)
## educ
## 8 12 14 15 16 17 18 19 20 21
## 53 190 6 116 59 11 9 27 2 1
prop.table(table(educ))
## educ
## 8 12 14 15 16 17
## 0.111814346 0.400843882 0.012658228 0.244725738 0.124472574 0.023206751
## 18 19 20 21
## 0.018987342 0.056962025 0.004219409 0.002109705
cumsum(table(educ))
## 8 12 14 15 16 17 18 19 20 21
## 53 243 249 365 424 435 444 471 473 474
cumsum(prop.table(table(educ)))
## 8 12 14 15 16 17 18 19
## 0.1118143 0.5126582 0.5253165 0.7700422 0.8945148 0.9177215 0.9367089 0.9936709
## 20 21
## 0.9978903 1.0000000
5.1.3 Media y varianza
La media es la medida de centralización por excelencia. Para su cálculo se utiliza la instrucción mean
<-c(6.9, 6.3, 6.2, 6.5 ,6.4, 6.8, 6.6)
consumomean(consumo)
## [1] 6.528571
dotchart(consumo,pch=16)
text(mean(consumo),2.5, pos=3,expression(bar(X)==6.53))
arrows(mean(consumo),0,mean(consumo),2.5,length = 0.15,col='red')
mean(salario)
## [1] 34419.57
mean(subset(empleados,catlab=='Directivo')$salario)
## [1] 63977.8
También se puede utilizar la función tapply, que se estudiará con detalle más adelante
tapply(salario, catlab, mean)
## Administrativo Seguridad Directivo
## 27838.54 30938.89 63977.80
La principal medida de dispersión es la varianza. En la práctica, cuando se trabaja con datos muestrales, se sustituye por la cuasi-varianza (también llamada varianza muestral corregida), que se calcula mediante el comando var
var(consumo)
## [1] 0.06571429
var(salario)
## [1] 291578214
La cuasi-desviación típica se calcula
sd(consumo)
## [1] 0.256348
sd(salario)
## [1] 17075.66
o, equivalentemente,
sqrt(var(consumo))
## [1] 0.256348
sqrt(var(salario))
## [1] 17075.66
La media de dispersión adimensional (relativa) más utilizada es el coeficiente de variación (de Pearson)
sd(consumo)/abs(mean(consumo))
## [1] 0.03926555
que también podemos expresar en tanto por cien
100*sd(consumo)/abs(mean(consumo))
## [1] 3.926555
El coeficiente de variación nos permite, entre otras cosas, comparar dispersiones de variables medidas en diferentes unidades
100*sd(salini)/abs(mean(salini))
## [1] 46.2541
100*sd(salario)/abs(mean(salario))
## [1] 49.61033
100*sd(expprev)/abs(mean(expprev))
## [1] 109.1022
5.1.4 Mediana y cuantiles
La mediana es una medida de centralización robusta. Se calcula mediante median
<- c(3.88,4.09,3.92,3.97,4.02,3.95, 4.03,3.92,3.98,5.60)
diametro dotchart(diametro,pch=16,xlab="diámetro")
abline(v=mean(diametro),col='red',lwd=2)
abline(v=median(diametro),col='blue',lty=2,lwd=2)
legend("bottomright",c("media","mediana"),
col=c("red","blue"),lty=c(1,2),lwd=c(2,2),box.lty=0,cex=1.5)
Podemos comprobar que la variable salario presenta una asimetría derecha
mean(salario); median(salario)
## [1] 34419.57
## [1] 28875
Calculemos cuántos empleados tienen un salario inferior al salario medio
mean(salario < mean(salario))
## [1] 0.6940928
paste('El ', round(100*mean(salario < mean(salario)),0), '%',
' de los empleados tienen un salario inferior al salario medio', sep='')
## [1] "El 69% de los empleados tienen un salario inferior al salario medio"
Como sabemos, la mitad de los empleados tienen un salario inferior a la mediana
mean(salario < median(salario))
## [1] 0.5
Los cuantiles son una generalización de la mediana, que se corresponde con el cuantil de orden 0.5. R contempla distintas formas de calcular los cuantiles
median(c(1,2,3,4))
## [1] 2.5
quantile(c(1,2,3,4),0.5)
## 50%
## 2.5
quantile(c(1,2,3,4),0.5,type=1)
## 50%
## 2
Calculemos los cuartiles y los deciles de la variable salario
quantile(salario)
## 0% 25% 50% 75% 100%
## 15750.0 24000.0 28875.0 36937.5 135000.0
quantile(salario, probs=c(0.25,0.5,0.75))
## 25% 50% 75%
## 24000.0 28875.0 36937.5
quantile(salario, probs=seq(0.1, 0.9, 0.1))
## 10% 20% 30% 40% 50% 60% 70% 80% 90%
## 21045.0 22950.0 24885.0 26700.0 28875.0 30750.0 34500.0 40920.0 59392.5
El rango y el rango intercuartílico
data.frame(Rango=max(salario)-min(salario),
RI=as.numeric(quantile(salario, 0.75) - quantile(salario, 0.25)))
## Rango RI
## 1 119250 12937.5
5.1.5 Summary
summary(empleados)
## id sexo fechnac educ
## Min. : 1.0 Hombre:258 Min. :1929-02-10 Min. : 8.00
## 1st Qu.:119.2 Mujer :216 1st Qu.:1948-01-03 1st Qu.:12.00
## Median :237.5 Median :1962-01-23 Median :12.00
## Mean :237.5 Mean :1956-10-08 Mean :13.49
## 3rd Qu.:355.8 3rd Qu.:1965-07-06 3rd Qu.:15.00
## Max. :474.0 Max. :1971-02-10 Max. :21.00
## NA's :1
## catlab salario salini tiempemp
## Administrativo:363 Min. : 15750 Min. : 9000 Min. :63.00
## Seguridad : 27 1st Qu.: 24000 1st Qu.:12488 1st Qu.:72.00
## Directivo : 84 Median : 28875 Median :15000 Median :81.00
## Mean : 34420 Mean :17016 Mean :81.11
## 3rd Qu.: 36938 3rd Qu.:17490 3rd Qu.:90.00
## Max. :135000 Max. :79980 Max. :98.00
##
## expprev minoria sexoraza
## Min. : 0.00 No:370 Blanca varón :194
## 1st Qu.: 19.25 Sí:104 Minoría varón: 64
## Median : 55.00 Blanca mujer :176
## Mean : 95.86 Minoría mujer: 40
## 3rd Qu.:138.75
## Max. :476.00
##
summary(subset(empleados,catlab=='Directivo'))
## id sexo fechnac educ
## Min. : 1.0 Hombre:74 Min. :1937-07-12 Min. :12.00
## 1st Qu.:102.5 Mujer :10 1st Qu.:1954-08-09 1st Qu.:16.00
## Median :233.5 Median :1961-05-29 Median :17.00
## Mean :234.1 Mean :1958-11-26 Mean :17.25
## 3rd Qu.:344.2 3rd Qu.:1963-10-03 3rd Qu.:19.00
## Max. :468.0 Max. :1966-04-05 Max. :21.00
## catlab salario salini tiempemp
## Administrativo: 0 Min. : 34410 Min. :15750 Min. :64.00
## Seguridad : 0 1st Qu.: 51956 1st Qu.:23063 1st Qu.:73.00
## Directivo :84 Median : 60500 Median :28740 Median :81.00
## Mean : 63978 Mean :30258 Mean :81.15
## 3rd Qu.: 71281 3rd Qu.:34058 3rd Qu.:91.00
## Max. :135000 Max. :79980 Max. :98.00
## expprev minoria sexoraza
## Min. : 3.00 No:80 Blanca varón :70
## 1st Qu.: 19.75 Sí: 4 Minoría varón: 4
## Median : 52.00 Blanca mujer :10
## Mean : 77.62 Minoría mujer: 0
## 3rd Qu.:125.25
## Max. :285.00