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

consumo<-c(6.9, 6.3, 6.2, 6.5 ,6.4, 6.8, 6.6)
mean(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

diametro <- c(3.88,4.09,3.92,3.97,4.02,3.95, 4.03,3.92,3.98,5.60)
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