# Librerías necesarias
library(tidyverse)
## ── Attaching core tidyverse packages ──────────────────────── tidyverse 2.0.0 ──
## ✔ dplyr     1.1.4     ✔ readr     2.1.5
## ✔ forcats   1.0.0     ✔ stringr   1.5.1
## ✔ ggplot2   3.5.1     ✔ tibble    3.2.1
## ✔ lubridate 1.9.3     ✔ tidyr     1.3.1
## ✔ purrr     1.0.2     
## ── Conflicts ────────────────────────────────────────── tidyverse_conflicts() ──
## ✖ dplyr::filter() masks stats::filter()
## ✖ dplyr::lag()    masks stats::lag()
## ℹ Use the conflicted package (<http://conflicted.r-lib.org/>) to force all conflicts to become errors
library(dplyr)
library(vcd)       # Para tablas de contingencia y análisis de asociación
## Loading required package: grid
library(MASS)      # Para modelos loglineales
## 
## Attaching package: 'MASS'
## 
## The following object is masked from 'package:dplyr':
## 
##     select
library(stats)     # Para pruebas exactas y chi-cuadrado
library(vcdExtra)  # Métodos de Cochran-Mantel-Haenszel
## Loading required package: gnm
## 
## Attaching package: 'vcdExtra'
## 
## The following object is masked from 'package:dplyr':
## 
##     summarise

Datos

Carga de datos

library(readr)

eph23 <- read.csv2("/cloud/project/REG02_EPHC_ANUAL_2023.csv")

Variables disponibles

names(eph23)
##   [1] "UPM"          "NVIVI"        "NHOGA"        "TRIMESTRE"    "AÑO"         
##   [6] "DPTO"         "AREA"         "L02"          "P02"          "P03"         
##  [11] "P04"          "P04A"         "P04B"         "P05C"         "P05P"        
##  [16] "P05M"         "P06"          "P08D"         "P08M"         "P08A"        
##  [21] "P09"          "A01"          "A01A"         "A02"          "A03"         
##  [26] "A04"          "A04A"         "A04B"         "A05"          "A07"         
##  [31] "A08"          "A10"          "A11A"         "A11M"         "A11S"        
##  [36] "A12"          "A13REC"       "A14REC"       "A15"          "A16"         
##  [41] "A17A"         "A17M"         "A17S"         "A18"          "B01REC"      
##  [46] "B02REC"       "B03LU"        "B03MA"        "B03MI"        "B03JU"       
##  [51] "B03VI"        "B03SA"        "B03DO"        "B04"          "B05"         
##  [56] "B06"          "B07A"         "B07M"         "B07S"         "B08"         
##  [61] "B09A"         "B09M"         "B09S"         "B10"          "B11"         
##  [66] "B12"          "B12A"         "B12B"         "B12C"         "B13"         
##  [71] "B14"          "B15"          "B16G"         "B16U"         "B16D"        
##  [76] "B16T"         "B17"          "B18AG"        "B18AU"        "B18BG"       
##  [81] "B18BU"        "B19"          "B20G"         "B20U"         "B20D"        
##  [86] "B20T"         "B21"          "B22"          "B23"          "B24"         
##  [91] "B25"          "B26"          "B271"         "B272"         "B28"         
##  [96] "B29"          "B30"          "B31"          "C01REC"       "C02REC"      
## [101] "C03"          "C04"          "C05"          "C06"          "C07"         
## [106] "C08"          "C09"          "C101"         "C102"         "C11G"        
## [111] "C11U"         "C11D"         "C11T"         "C12"          "C13AG"       
## [116] "C13AU"        "C13BG"        "C13BU"        "C14"          "C14A"        
## [121] "C14B"         "C14C"         "C15"          "C16REC"       "C17REC"      
## [126] "C18"          "C18A"         "C18B"         "C19"          "D01"         
## [131] "D02"          "D03"          "D04"          "D05"          "E01A"        
## [136] "E01B"         "E01C"         "E01D"         "E01E"         "E01F"        
## [141] "E01G"         "E01H"         "E01I"         "E01J"         "E01K"        
## [146] "E01L"         "E01M"         "ED01"         "ED02"         "ED03"        
## [151] "ED0504"       "ED06C"        "ED08"         "ED09"         "ED10"        
## [156] "ED11GH1"      "ED11GH1A"     "ED11F1"       "ED11F1A"      "S01A"        
## [161] "S01B"         "S02"          "S03"          "S03A"         "S03B"        
## [166] "S03C"         "S04"          "S05"          "S06"          "S07"         
## [171] "S08"          "S09"          "CATE_PEA"     "TAMA_PEA"     "OCUP_PEA"    
## [176] "RAMA_PEA"     "HORAB"        "HORABC"       "HORABCO"      "PEAD"        
## [181] "PEAA"         "TIPOHOGA"     "FEX.2022"     "NJEF"         "NCON"        
## [186] "NPAD"         "NMAD"         "añoest"       "ra06ya09"     "e01aimde"    
## [191] "e01bimde"     "e01cimde"     "e01dde"       "e01ede"       "e01fde"      
## [196] "e01gde"       "e01hde"       "e01ide"       "e01jde"       "e01kde"      
## [201] "e01lde"       "e01mde"       "e01kjde"      "e02bde"       "ingrevasode" 
## [206] "ipcm"         "pobrezai"     "pobnopoi"     "quintili"     "decili"      
## [211] "quintiai"     "decilai"      "informalidad"

Pasar todos los nombres de los campos a minusculas

# Función para reemplazar caracteres especiales
replace_special_chars <- function(names) {
  names <- gsub("\\.", "", names)  # Eliminar puntos
  names <- gsub("ñ", "ni", names)  # Reemplazar ñ por ni
  names <- gsub("á", "a", names)   # Reemplazar á por a
  names <- gsub("é", "e", names)   # Reemplazar é por e
  names <- gsub("í", "i", names)   # Reemplazar í por i
  names <- gsub("ó", "o", names)   # Reemplazar ó por o
  names <- gsub("ú", "u", names)   # Reemplazar ú por u
  names <- gsub("ü", "u", names)   # Reemplazar ü por u
  names <- gsub("ã", "a", names)   # Reemplazar ã por a
  names <- gsub("â", "a", names)   # Reemplazar â por a
  names <- gsub("ê", "e", names)   # Reemplazar ê por e
  names <- gsub("î", "i", names)   # Reemplazar î por i
  names <- gsub("ô", "o", names)   # Reemplazar ô por o
  names <- gsub("û", "u", names)   # Reemplazar û por u
   names <- gsub("ï", "", names)   #
  return(names)
}
colnames(eph23) <- replace_special_chars(tolower(colnames(eph23)))
names(eph23)
##   [1] "upm"          "nvivi"        "nhoga"        "trimestre"    "anio"        
##   [6] "dpto"         "area"         "l02"          "p02"          "p03"         
##  [11] "p04"          "p04a"         "p04b"         "p05c"         "p05p"        
##  [16] "p05m"         "p06"          "p08d"         "p08m"         "p08a"        
##  [21] "p09"          "a01"          "a01a"         "a02"          "a03"         
##  [26] "a04"          "a04a"         "a04b"         "a05"          "a07"         
##  [31] "a08"          "a10"          "a11a"         "a11m"         "a11s"        
##  [36] "a12"          "a13rec"       "a14rec"       "a15"          "a16"         
##  [41] "a17a"         "a17m"         "a17s"         "a18"          "b01rec"      
##  [46] "b02rec"       "b03lu"        "b03ma"        "b03mi"        "b03ju"       
##  [51] "b03vi"        "b03sa"        "b03do"        "b04"          "b05"         
##  [56] "b06"          "b07a"         "b07m"         "b07s"         "b08"         
##  [61] "b09a"         "b09m"         "b09s"         "b10"          "b11"         
##  [66] "b12"          "b12a"         "b12b"         "b12c"         "b13"         
##  [71] "b14"          "b15"          "b16g"         "b16u"         "b16d"        
##  [76] "b16t"         "b17"          "b18ag"        "b18au"        "b18bg"       
##  [81] "b18bu"        "b19"          "b20g"         "b20u"         "b20d"        
##  [86] "b20t"         "b21"          "b22"          "b23"          "b24"         
##  [91] "b25"          "b26"          "b271"         "b272"         "b28"         
##  [96] "b29"          "b30"          "b31"          "c01rec"       "c02rec"      
## [101] "c03"          "c04"          "c05"          "c06"          "c07"         
## [106] "c08"          "c09"          "c101"         "c102"         "c11g"        
## [111] "c11u"         "c11d"         "c11t"         "c12"          "c13ag"       
## [116] "c13au"        "c13bg"        "c13bu"        "c14"          "c14a"        
## [121] "c14b"         "c14c"         "c15"          "c16rec"       "c17rec"      
## [126] "c18"          "c18a"         "c18b"         "c19"          "d01"         
## [131] "d02"          "d03"          "d04"          "d05"          "e01a"        
## [136] "e01b"         "e01c"         "e01d"         "e01e"         "e01f"        
## [141] "e01g"         "e01h"         "e01i"         "e01j"         "e01k"        
## [146] "e01l"         "e01m"         "ed01"         "ed02"         "ed03"        
## [151] "ed0504"       "ed06c"        "ed08"         "ed09"         "ed10"        
## [156] "ed11gh1"      "ed11gh1a"     "ed11f1"       "ed11f1a"      "s01a"        
## [161] "s01b"         "s02"          "s03"          "s03a"         "s03b"        
## [166] "s03c"         "s04"          "s05"          "s06"          "s07"         
## [171] "s08"          "s09"          "cate_pea"     "tama_pea"     "ocup_pea"    
## [176] "rama_pea"     "horab"        "horabc"       "horabco"      "pead"        
## [181] "peaa"         "tipohoga"     "fex2022"      "njef"         "ncon"        
## [186] "npad"         "nmad"         "anioest"      "ra06ya09"     "e01aimde"    
## [191] "e01bimde"     "e01cimde"     "e01dde"       "e01ede"       "e01fde"      
## [196] "e01gde"       "e01hde"       "e01ide"       "e01jde"       "e01kde"      
## [201] "e01lde"       "e01mde"       "e01kjde"      "e02bde"       "ingrevasode" 
## [206] "ipcm"         "pobrezai"     "pobnopoi"     "quintili"     "decili"      
## [211] "quintiai"     "decilai"      "informalidad"

Campos o variables seleccionadas

P06 (sexo)

table(eph23$p06)
## 
##     1     6 
## 28613 29392
eph23$p06 <- factor(eph23$p06, levels=c(1, 6), labels =c("Hombres", "Mujeres"))
table(eph23$p06)     
## 
## Hombres Mujeres 
##   28613   29392

Area (area)

table(eph23$area)
## 
##     1     6 
## 32940 25065
eph23$area <- factor(eph23$area, levels=c(1, 6), labels =c("Urbano", "Rural"))
table(eph23$area)     
## 
## Urbano  Rural 
##  32940  25065

P02 (edad)

Crear el campo edad en quintiles

table(eph23$p02)
## 
##    0    1    2    3    4    5    6    7    8    9   10   11   12   13   14   15 
##  782  868  892  937  998  989 1076 1060 1120 1005  966 1030 1012 1042 1014  964 
##   16   17   18   19   20   21   22   23   24   25   26   27   28   29   30   31 
##  960 1034 1024  907  889  859  911  939  857  866  890  924  893  887  912  877 
##   32   33   34   35   36   37   38   39   40   41   42   43   44   45   46   47 
##  882  872  855  845  826  835  773  754  813  783  718  791  631  634  604  579 
##   48   49   50   51   52   53   54   55   56   57   58   59   60   61   62   63 
##  576  573  616  574  585  612  563  565  576  523  568  524  511  496  542  513 
##   64   65   66   67   68   69   70   71   72   73   74   75   76   77   78   79 
##  535  507  459  451  392  377  359  288  307  284  254  249  266  176  202  175 
##   80   81   82   83   84   85   86   87   88   89   90   91   92   93   94   95 
##  150  157  113  120  103  102  107   71   54   36   51   42   20   24   23   17 
##   96   97   98   99  100  101  102  105  106 
##   13    9    1    3    3    5    2    1    1
eph23$p02=as.numeric(eph23$p02)
hist(eph23$p02)

library(dplyr)
library(tidyverse)

eph23 <- eph23 %>%
  mutate(
edadquinquenal = case_when(
  p02 >= 0 & p02 <= 4 ~ "0 a 4",
  p02 >= 5 & p02 <= 9 ~ "5 a 9",
  p02 >= 10 & p02 <= 14 ~ "10 a 14",
  p02 >= 15 & p02 <= 19 ~ "15 a 19",
  p02 >= 20 & p02 <= 24 ~ "20 a 24",
  p02 >= 25 & p02 <= 29 ~ "25 a 29",
  p02 >= 30 & p02 <= 34 ~ "30 a 34",
  p02 >= 35 & p02 <= 39 ~ "35 a 39",
  p02 >= 40 & p02 <= 44 ~ "40 a 44",
  p02 >= 45 & p02 <= 49 ~ "45 a 49",
  p02 >= 50 & p02 <= 54 ~ "50 a 54",
  p02 >= 55 & p02 <= 59 ~ "55 a 59",
  p02 >= 60 & p02 <= 64 ~ "60 a 64",
  p02 >= 65 & p02 <= 69 ~ "65 a 69",
  p02 >= 70 & p02 <= 74 ~ "70 a 74",
  p02 >= 75 & p02 <= 79 ~ "75 a 79",
  p02 >= 80 & p02 <= 84 ~ "80 a 84",
  p02 >= 85 & p02 <= 89~ "85 a 89",
  p02 >= 90 & p02 <= 200~ "90 y más",
  TRUE ~ as.character(p02)

)
)
eph23$edadquinquenal=factor(eph23$edadquinquenal, levels = )
eph23$edadquinquenal <- factor(eph23$edadquinquenal,  levels =c("0 a 4",
                                                               "5 a 9",
                                                               "10 a 14",
                                                               "15 a 19",
                                                               "20 a 24",
                                                               "25 a 29",
                                                               "30 a 34",
                                                               "35 a 39",
                                                               "40 a 44",
                                                               "45 a 49",
                                                               "50 a 54",
                                                               "55 a 59",
                                                               "60 a 64",
                                                               "65 a 69",
                                                               "70 a 74",
                                                               "75 a 79",
                                                               "80 a 84",
                                                               "85 a 89",
                                                               "90 y más"),
                                                               labels =c("0 a 4",
                                                               "5 a 9",
                                                               "10 a 14",
                                                               "15 a 19",
                                                               "20 a 24",
                                                               "25 a 29",
                                                               "30 a 34",
                                                               "35 a 39",
                                                               "40 a 44",
                                                               "45 a 49",
                                                               "50 a 54",
                                                               "55 a 59",
                                                               "60 a 64",
                                                               "65 a 69",
                                                               "70 a 74",
                                                               "75 a 79",
                                                               "80 a 84",
                                                               "85 a 89",
                                                               "90 y más")
                                                               )
t1=cbind(table(eph23$edadquinquenal))
barplot(table(eph23$edadquinquenal))

## Mas campos de interes

table(eph23$dpto)
## 
##     0     1     2     3     4     5     6     7     8     9    10    11    12 
##  4157  2238  3782  3126  2479  3300  2993  4708  2761  2408  6770 10036  1743 
##    13    14    15 
##  2475  2838  2191
eph23 <- eph23 %>%
  mutate(
    dpto = case_when(
      dpto == 0 ~ "Asunción",
      dpto == 1 ~ "Concepción", 
      dpto == 2 ~ "San Pedro", 
      dpto == 3 ~ "Cordillera",
      dpto == 4 ~ "Guairá",
      dpto == 5 ~ "Caaguazú", 
      dpto == 6 ~ "Caazapá",
      dpto == 7 ~ "Itapúa",
      dpto == 8 ~ "Misiones",
      dpto == 9 ~ "Paraguarí",
      dpto == 10 ~ "Alto Paraná",
      dpto == 11 ~ "Central", 
      dpto == 12 ~ "Ñeembucú", 
      dpto == 13 ~ "Amambay", 
      dpto == 14 ~ "Canindeyú",
      dpto == 15 ~ "Pdte Hayes",
      TRUE ~ as.character(dpto) # Manejo de valores inesperados
    ),
    relacionparen = case_when(
      p03 == 1 ~ "Jefe/a", 
      p03 == 2 ~ "Esposo/a, compañero/a", 
      p03 == 3 ~ "Hijo/a", 
      p03 == 4 ~ "Hijastro/a", 
      p03 == 5 ~ "Nieto/a",
      p03 == 6 ~ "Yerno/Nuera", 
      p03 == 7 ~ "Padre/Madre", 
      p03 == 8 ~ "Suegro/a", 
      p03 == 9 ~ "Otro pariente", 
      p03 == 10 ~ "No pariente",
      p03 == 11 ~ "Personal doméstico", 
      p03 == 12 ~ "Familiar del personal doméstico",
      TRUE ~ as.character(p03) # Manejo de valores inesperados
    ),

    estadocivil = case_when(
      p09 == 1 ~ "Casado",
      p09 == 2 ~ "Unido",
      p09 == 3 ~ "Separado",
      p09 == 4 ~ "Viudo",
      p09 == 5 ~ "Soltero",
      p09 == 6 ~ "Divorciado",
      p09 == 9 ~ "NR", # No reportado o No responde
      TRUE ~ as.character(p09) # Manejo de valores inesperados
    ), 


cotizacaja = case_when(
    b10 == 1 ~ "Si",
    b10 == 6 ~ "No",
    b10 == 9 ~ "NR", # No Responde
    TRUE ~ as.character(b10) # Manejo de valores inesperados
  ),

cualcaja = case_when(
    b11 == 1 ~ "IPS",
    b11 == 2 ~ "Caja Fiscal",
    b11 == 3 ~ "Caja Bancaria",
    b11 == 4 ~ "Caja Municipal",
    b11 == 5 ~ "Caja Privada",
    b11 == 6 ~ "Otra (especificar)",
    b11 == 9 ~ "NR", # No Responde
    TRUE ~ as.character(b11) # Manejo de valores inesperados
  ),

catepea = case_when(
    cate_pea == 1 ~ "Obrero público",
    cate_pea == 2 ~ "Obrero privado",
    cate_pea == 3 ~ "Empleador/patrón",
    cate_pea == 4 ~ "Cuenta propia",
    cate_pea == 5 ~ "Trabajador fam. no remun.",
    cate_pea == 6 ~ "Doméstico/a",
    cate_pea == 9 ~ "NR", # No Responde
    TRUE ~ as.character(cate_pea) # Manejo de valores inesperados
  ),

tipoocupa = case_when(
    ocup_pea == 1 ~ "Miembros del Poder Ejecutivo, Legislativo y Judicial, personal directivo de la Administración pública y de empresa",
    ocup_pea == 2 ~ "Profesionales científicos e intelectuales",
    ocup_pea == 3 ~ "Técnicos y profesionales de nivel medio",
    ocup_pea == 4 ~ "Empleados de oficina",
    ocup_pea == 5 ~ "Trabajadores de los servicios y vendedores de comercios y mercados",
    ocup_pea == 6 ~ "Agricultores y trabajadores Agropecuarios y Pesqueros",
    ocup_pea == 7 ~ "Oficiales, operarios y artesanos de artes mecánicas y de otros oficios",
    ocup_pea == 8 ~ "Operadores de instalaciones y máquinas y montadores",
    ocup_pea == 9 ~ "Trabajadores no calificados",
    ocup_pea == 10 ~ "Fuerzas armadas",
    ocup_pea == 99 ~ "NR", # No Responde
    TRUE ~ as.character(ocup_pea) # Manejo de valores inesperados
  ),

ramadesc = case_when(
    rama_pea == 1 ~ "Agricultura, ganadería, caza y pesca",
    rama_pea == 2 ~ "Industrias manufactureras",
    rama_pea == 3 ~ "Electricidad, gas y agua",
    rama_pea == 4 ~ "Construcciones",
    rama_pea == 5 ~ "Comercio, restaurantes y hoteles",
    rama_pea == 6 ~ "Transporte, almacenamiento y comunicaciones",
    rama_pea == 7 ~ "Finanzas, seguros e inmuebles",
    rama_pea == 8 ~ "Servicios comunales, sociales y personales",
    rama_pea == 99 ~ "NR", # No Responde
    TRUE ~ as.character(rama_pea) # Manejo de valores inesperados
  ),

situacionlab = case_when(
    pead == 1 ~ "Otros ocupados",
    pead == 2 ~ "Desocupados de 2ª ó más veces",
    pead == 3 ~ "Inactivos",
    pead == 4 ~ "Subocup. Visible",
    pead == 6 ~ "Desocupados de 1ª vez",
    pead == 9 ~ "NR", # No Responde
    TRUE ~ as.character(pead) # Manejo de valores inesperados
  ),


situacionlab2 = case_when(
    peaa == 1 ~ "Ocupados",
    peaa == 2 ~ "Desocupados",
    peaa == 3 ~ "Inactivos",
    peaa == 9 ~ "NR",
      TRUE ~ as.character(peaa)
  ),

informalidaddesc = case_when(
    informalidad == 1 ~ "Ocupados informales no agropecuarios",
    informalidad == 2 ~ "Ocupados formales no agropecuarios",
    informalidad == 9 ~ "No Disponible",
          TRUE ~ as.character(informalidad)
  ),


edaddecenio = case_when(
    p02 >= 0 & p02 <= 9 ~ "0 a 9",
    p02 >= 10 & p02 <= 19 ~ "10 a 19",
    p02 >= 20 & p02 <= 29 ~ "20 a 29",
    p02 >= 30 & p02 <= 39 ~ "30 a 39",
    p02 >= 40 & p02 <= 49 ~ "40 a 49",
    p02 >= 50 & p02 <= 59 ~ "50 a 59",
    p02 >= 60 & p02 <= 69 ~ "60 a 69",
    p02 >= 70 & p02 <= 79 ~ "70 a 79",
    p02 >= 80 & p02 <= 89 ~ "80 a 89",
    p02 >= 90 & p02 <= 99 ~ "90 a 99",
                      TRUE ~ as.character(p02)

  ),

tramoedad = case_when(
    p02 >= 0 & p02 <= 13 ~ "Niños",
    p02 >= 14 & p02 <= 29 ~ "Jóvenes",
    p02 >= 30 & p02 <= 60 ~ "Adultos",
    TRUE ~ "Adultos mayores",
                          TRUE ~ as.character(p02)
  ),

tramoedad2 = case_when(
    p02 >= 0 & p02 <= 13 ~ "Niños",
    p02 >= 14 & p02 <= 29 ~ "Jóvenes",
    p02 >= 30 & p02 <= 64 ~ "Adultos",
    TRUE ~ "Adultos mayores",
                          TRUE ~ as.character(p02)
  ),

nivelest = case_when(
    anioest == 0 ~ "Sin instrucción",
    anioest >= 1 & anioest <= 9 ~  "Primaria incompleta",
    anioest >= 10 & anioest <= 12 ~"Primaria completa",
    anioest >= 13 & anioest <= 18 ~ "Secundaria completa" ,
    anioest == 99 ~  "No disponible",
                          TRUE ~ as.character(anioest)
  )

)

2. Tablas de Contingencia de Doble Entrada

2.1 Estructura de las tablas

Para comenzar, crearemos una tabla de contingencia de doble entrada con las variables sexo y nivelest, que representan el sexo y el nivel educativo respectivamente.

eph23$nivelest=factor(eph23$nivelest, levels = )
eph23$nivelest <- factor(eph23$nivelest,  levels =c( "No disponible",
                                                     "Sin instrucción",
                                                    "Primaria incompleta",
                                                    "Primaria completa",
                                                    "Secundaria completa" ),
                                                    labels =c("No disponible",
                                                              "Sin instrucción",
                                                    "Primaria incompleta",
                                                    "Primaria completa",
                                                    "Secundaria completa"))
tablconting1=table(eph23$nivelest , eph23$p06)
tablconting1=addmargins(tablconting1,c(1,2))
tablconting1
##                      
##                       Hombres Mujeres   Sum
##   No disponible            15       9    24
##   Sin instrucción        2051    2262  4313
##   Primaria incompleta   14163   14089 28252
##   Primaria completa      6185    5462 11647
##   Secundaria completa    4231    5747  9978
##   Sum                   26645   27569 54214

El nivel de estudios es independiente de sexo?

# Proporcioes de cada celda
tablconting1porc=prop.table(table(eph23$nivelest , eph23$p06),2)
tablconting1porc=addmargins(tablconting1porc,c(1))*100
tablconting1porc
##                      
##                            Hombres      Mujeres
##   No disponible         0.05629574   0.03264536
##   Sin instrucción       7.69750422   8.20486779
##   Primaria incompleta  53.15443798  51.10450143
##   Primaria completa    23.21261025  19.81210780
##   Secundaria completa  15.87915181  20.84587762
##   Sum                 100.00000000 100.00000000

Test chi-cuadrado

# Prueba Chi-cuadrado
testchi1 <- chisq.test(table(eph23$nivelest , eph23$p06))
testchi1
## 
##  Pearson's Chi-squared test
## 
## data:  table(eph23$nivelest, eph23$p06)
## X-squared = 271.56, df = 4, p-value < 2.2e-16

Cociente de ventajas (Odds ratio)

library(vcdExtra)
# Cociente de ventajas (Odds ratio)
oddsratio1 <- vcd::oddsratio(table(eph23$nivelest , eph23$p06))
oddsratio1
## log odds ratios for  and  
## 
##         No disponible:Sin instrucción   Sin instrucción:Primaria incompleta 
##                             0.6087475                            -0.1031605 
## Primaria incompleta:Primaria completa Primaria completa:Secundaria completa 
##                            -0.1190734                             0.4305516
names(oddsratio1)
## [1] "coefficients" "dimnames"     "dim"          "vcov"         "contrasts"   
## [6] "log"
# Cociente de ventajas (Odds ratio)
oddsratio1 <- vcd::oddsratio(table(eph23$nivelest , eph23$p06))
oddsratio1=data.frame(oddsratio1)
oddsratio1
##                                    Var1            Var2        LOR        ASE
## 1         No disponible:Sin instrucción Hombres:Mujeres  0.6087475 0.42273802
## 2   Sin instrucción:Primaria incompleta Hombres:Mujeres -0.1031605 0.03272977
## 3 Primaria incompleta:Primaria completa Hombres:Mujeres -0.1190734 0.02205331
## 4 Primaria completa:Secundaria completa Hombres:Mujeres  0.4305516 0.02747943
  1. coefficients: Este campo contiene los coeficientes estimados del modelo, es decir, los valores que representan la relación entre las variables independientes y la variable dependiente en el modelo. Los coeficientes indican la magnitud y dirección del efecto de cada variable independiente sobre la dependiente.
  1. dimnames: Este campo guarda los nombres de las dimensiones de la matriz de coeficientes o de la matriz de varianza-covarianza. Sirve para identificar las filas y columnas de la matriz, asignándoles etiquetas o nombres correspondientes a las variables del modelo.
  1. dim: Este campo define la dimensión de los datos o de la matriz en el objeto, normalmente representado por el número de filas y columnas. Ayuda a identificar la estructura del objeto (por ejemplo, una matriz de coeficientes o una tabla de resultados).
  1. vcov: Abreviatura de “varianza-covarianza”. Este campo contiene la matriz de varianza-covarianza de los coeficientes del modelo. Esta matriz es importante para evaluar la precisión de los estimadores y calcular intervalos de confianza, así como para realizar pruebas de hipótesis.
  1. contrasts: Este campo almacena la información de los contrastes utilizados para las variables categóricas. Los contrastes definen cómo se representarán las variables categóricas en el modelo. Por ejemplo, el contraste “dummy” o “contr.treatment” para variables categóricas con más de dos niveles.
  1. log: Este campo puede guardar el valor del logaritmo de la función de verosimilitud (log-likelihood). Es común en modelos de regresión como glm y otros modelos estadísticos que optimizan la verosimilitud.

3. Tablas de Contingencia de Tres Entradas

Para este análisis, usaremos las variables sexo, nivelest y tramoedad.