Estadísticos Descriptivos

César Córdova

23/4/2021

Introducción

Vamos a importar la base de datos del Estudio de Familia y Roles de Genero 2012, usando las etiquetas de los valores


library(foreign)

genero12 <- read.spss("IOP_1212_01_D.sav", to.data.frame = TRUE, 
                      use.value.labels = TRUE)

names(genero12)
##   [1] "NRO"     "SEXO"    "GEDAD"   "EDAD"    "P1"      "P2"      "P3A"    
##   [8] "P3B"     "P3C"     "P3D"     "P4A"     "P4B"     "P4C"     "P5"     
##  [15] "P6A"     "P6B"     "P6C"     "P6D"     "P6E"     "P7A"     "P7B"    
##  [22] "P8A"     "P8B"     "P9A"     "P9B"     "P9C"     "P9D"     "P9E"    
##  [29] "P9F"     "P10"     "P10A"    "P11"     "P12"     "P13A"    "P13B"   
##  [36] "P14"     "P15"     "P16"     "P17"     "P18A"    "P18B"    "P18C"   
##  [43] "P18D"    "P19A"    "P19B"    "P20"     "P21"     "P22"     "P22A"   
##  [50] "P23"     "P24"     "P25"     "P26"     "P27"     "P28A"    "P28B"   
##  [57] "P29"     "P30"     "P31A"    "P31B"    "P31C"    "P31D"    "P31E"   
##  [64] "P31F"    "P32"     "P33A"    "P33B"    "P33C"    "P33D"    "P34"    
##  [71] "P35A"    "P35B"    "P35C"    "P35D"    "P35E"    "P35F"    "P35G"   
##  [78] "P36"     "P37"     "P38"     "P39"     "P40"     "P41"     "P42"    
##  [85] "P43"     "P44"     "P44A"    "P44B"    "P44C"    "P45A"    "P45B"   
##  [92] "P46A"    "P46B"    "P47"     "P48"     "P48A"    "P48B"    "P48C"   
##  [99] "P49"     "P50A"    "P50B"    "P50C"    "P50D"    "P50E"    "P50F"   
## [106] "P50G"    "P50H"    "P51A"    "P51B"    "P51C"    "P51D"    "P51E"   
## [113] "P51F"    "P51G"    "P51H"    "P51I"    "P51J"    "P51K"    "P52A"   
## [120] "P52B"    "P52C"    "P52D"    "P52E"    "P52F"    "P52G"    "P53A"   
## [127] "P53B"    "P53C"    "P53D"    "P53E"    "P53F"    "P53G"    "P54A"   
## [134] "P54B"    "P54C"    "P54D"    "P54E"    "P55A"    "P55B"    "P55C"   
## [141] "P55D"    "P55E"    "P55F"    "P56"     "P57"     "P58"     "P59A"   
## [148] "P59B"    "P59C"    "P59D"    "P59E"    "P59F"    "P59G"    "P59H"   
## [155] "P59I"    "P60A"    "P60B"    "P60C"    "P60D"    "P60E"    "P60F"   
## [162] "P61A"    "P61B"    "P61C"    "P61D"    "P61E"    "P62A"    "P62B"   
## [169] "P62C"    "P63A"    "P63B"    "P63C"    "P64A"    "P64B"    "P64C"   
## [176] "P64D"    "P64E"    "P64F"    "P64G"    "P64H"    "P65A"    "P65B"   
## [183] "P65C"    "P65D"    "P65E"    "P65F"    "P65G"    "P65H"    "P66A"   
## [190] "P66B"    "P67A"    "P67B"    "P67C"    "P68"     "P69"     "P70"    
## [197] "P71"     "P72"     "P72A"    "P73"     "P73A"    "P74"     "P75"    
## [204] "P76"     "P77"     "P78"     "P79"     "P80"     "P81A"    "P81B"   
## [211] "P81C"    "P81D"    "P81E"    "P82"     "P87"     "P89"     "P90"    
## [218] "P92"     "Región"  "Ambito"  "DOMINIO" "NSEGrup" "sumaNSE" "NSE"

Tabla de frecuencia para una variable categórica nominal

Con la función “freq” del paquete “summarytools”, vamos a generar una tabla de frecuencia simple para la variable nominal “P11” que registrar qué institución debe de ocuparse de la licencia de maternidad con goce de haber:


library(summarytools)
## Warning: package 'summarytools' was built under R version 4.1.1
## Registered S3 method overwritten by 'pryr':
##   method      from
##   print.bytes Rcpp
## For best results, restart R session and update pander using devtools:: or remotes::install_github('rapporter/pander')
tab.p11 <- freq(genero12$P11)

tab.p11
## Frequencies  
## genero12$P11  
## Type: Factor  
## 
##                                             Freq   % Valid   % Valid Cum.   % Total   % Total Cum.
## ----------------------------------------- ------ --------- -------------- --------- --------------
##                               El gobierno    411     38.41          38.41     34.16          34.16
##                              El empleador    265     24.77          63.18     22.03          56.19
##       Tanto el gobierno como el empleador    378     35.33          98.50     31.42          87.61
##                             Otras fuentes      6      0.56          99.07      0.50          88.11
##                     No sabe / No contesta     10      0.93         100.00      0.83          88.94
##                                      <NA>    133                              11.06         100.00
##                                     Total   1203    100.00         100.00    100.00         100.00

Tablas a partir de variables numéricas

La variable P19A registra información sobre el número de horas a la semana que los encuestados realizan trabajo doméstico (ej.: lavar, planchar, etc). Vamos a tratar de tabular esta variable.

Como se observa en la tabla “tab.p19a” no es adecuado tabular una variable numérica cuando los datos son muy dispersos; por ello, vamos a recodificar esta variable con el paquete “car”.


tab.p19a <- freq(genero12$P19A)

tab.p19a
## Frequencies  
## genero12$P19A  
## Type: Numeric  
## 
##               Freq   % Valid   % Valid Cum.   % Total   % Total Cum.
## ----------- ------ --------- -------------- --------- --------------
##           0     76     6.328          6.328     6.318          6.318
##           1     10     0.833          7.161     0.831          7.149
##           2     30     2.498          9.659     2.494          9.643
##           3     29     2.415         12.073     2.411         12.053
##           4     36     2.998         15.071     2.993         15.046
##           5     13     1.082         16.153     1.081         16.126
##           6     48     3.997         20.150     3.990         20.116
##           7     89     7.410         27.560     7.398         27.515
##           8     28     2.331         29.892     2.328         29.842
##           9      7     0.583         30.475     0.582         30.424
##          10     38     3.164         33.639     3.159         33.583
##          11      1     0.083         33.722     0.083         33.666
##          12     22     1.832         35.554     1.829         35.495
##          13      1     0.083         35.637     0.083         35.578
##          14    148    12.323         47.960    12.303         47.880
##          15     20     1.665         49.625     1.663         49.543
##          16      5     0.416         50.042     0.416         49.958
##          18     22     1.832         51.873     1.829         51.787
##          20     16     1.332         53.206     1.330         53.117
##          21    116     9.659         62.864     9.643         62.760
##          22      1     0.083         62.948     0.083         62.843
##          23      2     0.167         63.114     0.166         63.009
##          24     11     0.916         64.030     0.914         63.924
##          25     10     0.833         64.863     0.831         64.755
##          26      1     0.083         64.946     0.083         64.838
##          28    107     8.909         73.855     8.894         73.732
##          30     19     1.582         75.437     1.579         75.312
##          34      1     0.083         75.520     0.083         75.395
##          35     65     5.412         80.933     5.403         80.798
##          36      5     0.416         81.349     0.416         81.214
##          40      3     0.250         81.599     0.249         81.463
##          42     61     5.079         86.678     5.071         86.534
##          43      2     0.167         86.844     0.166         86.700
##          44      2     0.167         87.011     0.166         86.866
##          45      1     0.083         87.094     0.083         86.949
##          48      8     0.666         87.760     0.665         87.614
##          49     16     1.332         89.092     1.330         88.944
##          50      2     0.167         89.259     0.166         89.111
##          56     49     4.080         93.339     4.073         93.184
##          60      2     0.167         93.505     0.166         93.350
##          63      7     0.583         94.088     0.582         93.932
##          64      3     0.250         94.338     0.249         94.181
##          66      1     0.083         94.421     0.083         94.264
##          70     27     2.248         96.669     2.244         96.509
##          72      6     0.500         97.169     0.499         97.007
##          77      1     0.083         97.252     0.083         97.091
##          80      1     0.083         97.336     0.083         97.174
##          81      1     0.083         97.419     0.083         97.257
##          84     22     1.832         99.251     1.829         99.086
##          91      1     0.083         99.334     0.083         99.169
##         100      2     0.167         99.500     0.166         99.335
##         112      1     0.083         99.584     0.083         99.418
##         140      1     0.083         99.667     0.083         99.501
##         168      4     0.333        100.000     0.333         99.834
##        <NA>      2                              0.166        100.000
##       Total   1203   100.000        100.000   100.000        100.000

Recodificación de variable numérica con paquete “car”

Para realizar la recodificación de la variable “P19A”, primero debemos activar el paquete con la función “library”.


library(car)
## Warning: package 'car' was built under R version 4.1.1
## Loading required package: carData

Segundo, vamos a realizar la recodificación de la variable:


genero12$P19an <- recode(genero12$P19A, "0=1; 1:14=2; 15:28=3; 29:42=4; 43:hi=5")

Tercero, convertimos a factor y colocamos las etiquetas:


genero12$p19ar <- factor(genero12$P19an, labels = c("Ninguna", "Entre 1 y 14", "Entre 15 y 28",
                                    "Entre 29 y 42", "Más de 42"))

Finalmente, tabulamos la variable recodificada “p19ar”.


tab.p19ar <- table(genero12$p19ar)
tab.p19ar
## 
##       Ninguna  Entre 1 y 14 Entre 15 y 28 Entre 29 y 42     Más de 42 
##            76           500           311           154           160

Tablas cruzadas

También, podemos realizar tablas cruzadas para dos variables cualitativas con la función “ctable” del paquete “summarytools”:


ctable(genero12$p19ar, genero12$SEXO, "c")
## Cross-Tabulation, Column Proportions  
## p19ar * SEXO  
## Data Frame: genero12  
## 
## --------------- ------ -------------- -------------- ---------------
##                   SEXO      Masculino       Femenino           Total
##           p19ar                                                     
##         Ninguna           68 ( 11.5%)     8 (  1.3%)     76 (  6.3%)
##    Entre 1 y 14          338 ( 57.4%)   162 ( 26.4%)    500 ( 41.6%)
##   Entre 15 y 28          128 ( 21.7%)   183 ( 29.8%)    311 ( 25.9%)
##   Entre 29 y 42           31 (  5.3%)   123 ( 20.0%)    154 ( 12.8%)
##       Más de 42           22 (  3.7%)   138 ( 22.5%)    160 ( 13.3%)
##            <NA>            2 (  0.3%)     0 (  0.0%)      2 (  0.2%)
##           Total          589 (100.0%)   614 (100.0%)   1203 (100.0%)
## --------------- ------ -------------- -------------- ---------------

Finalmente, podemos construir una tabla combinando una variable cuantitativa y una cualitativa:


tabla.biv <- with(genero12, stby(data = P19A, INDICES = SEXO,
FUN = descr))

tabla.biv 
## Descriptive Statistics  
## P19A by SEXO  
## Data Frame: genero12  
## N: 589  
## 
##                     Masculino   Femenino
## ----------------- ----------- ----------
##              Mean       13.70      32.27
##           Std.Dev       13.50      24.34
##               Min        0.00       0.00
##                Q1        4.00      14.00
##            Median       10.00      28.00
##                Q3       21.00      42.00
##               Max       84.00     168.00
##               MAD        8.90      20.76
##               IQR       17.00      28.00
##                CV        0.99       0.75
##          Skewness        1.85       1.79
##       SE.Skewness        0.10       0.10
##          Kurtosis        4.53       5.79
##           N.Valid      587.00     614.00
##         Pct.Valid       99.66     100.00

Gráficos para evaluar dispersión

Con la función “hist” pdoemos generar un histograma de la variables “P19A” para evaluar si existe sesgo en la distribución:


hist(genero12$P19A)


Con la función “boxplot” pdoemos generar un un gráficos de cajas de la variable “P19A” para evaluar su dispersión, así como las medidas de posicionamiento:


boxplot(genero12$P19A)

___

boxplot(genero12$P19A ~ genero12$SEXO)


Otros códigos

Con el comando “cut” del paquete básico podemos realizar también una recategorización de la variable:


genero12$edad.c <- cut(genero12$EDAD, breaks = 3 , include.lowest = T)

Luego, solicitamos una tabla de la variable recodificada:


tabla.edad <- freq(genero12$edad.c)

tabla.edad
## Frequencies  
## genero12$edad.c  
## Type: Factor  
## 
##                     Freq   % Valid   % Valid Cum.   % Total   % Total Cum.
## ----------------- ------ --------- -------------- --------- --------------
##       [17.9,42.7]    745     61.93          61.93     61.93          61.93
##       (42.7,67.3]    394     32.75          94.68     32.75          94.68
##       (67.3,92.1]     64      5.32         100.00      5.32         100.00
##              <NA>      0                               0.00         100.00
##             Total   1203    100.00         100.00    100.00         100.00