#Introducción En el contexto laboral actual, el deseo de cambiar o añadir otro trabajo es un fenómeno que puede estar influenciado por diversas variables sociodemográficas. Este comportamiento laboral se vuelve aún más relevante en un entorno económico dinámico, donde las personas buscan mejorar sus condiciones laborales y personales. Las variables como el sexo, la edad, el nivel de estudios y los ingresos pueden tener un impacto significativo en la decisión de los individuos de modificar su situación laboral.
#Fuente de datos La Encuesta Permanente de Hogares (EPH) es llevado a cabo por el Instituto Nacional de Estadísticas (INE) y tiene como objetivo fundamental la generación de estadísticas que permitan monitorear trimestralmente las características clave del mercado laboral, así como otros aspectos socioeconómicos. Esta encuesta abarca a las personas que residen en hogares particulares ubicados en los departamentos de la Región Oriental y Pte. Hayes.
Para llevar a cabo este propósito, se ha establecido un tamaño muestral de 5,004 hogares por trimestre en el año 2023. La metodología empleada se basa en un enfoque de muestra semi-panel con una rotación del 50% de los hogares durante dos años consecutivos. Esto significa que en dos años seguidos, el 50% de los hogares se solapan entre los mismos trimestres, con el propósito principal de controlar los cambios reales en las características laborales.
La EPH comenzó su ejecución en la segunda semana de enero de 2017 y se ha mantenido en funcionamiento de manera continua hasta la fecha actual. En el anexo, se presentan los resultados correspondientes a veintiséis trimestres, abarcando desde el año 2017 hasta el 2023.
La relevancia de este material radica en su capacidad para proporcionar información sobre los indicadores clave de empleo. Esta información resulta esencial para la formulación, implementación y evaluación de políticas públicas orientadas a mejorar las condiciones de empleo y, por extensión, las condiciones de vida de la población en general.
#Variables seleccionadas Sexo: Variable dicotómica (Hombre/Mujer). Edad: Variable categórica quinquenal (ej. 10-14 años, 15-19 años, etc.). Nivel de estudios: Variable categórica (sin instrucción, primaria incompleta, primaria completa, secundaria completa). Ingresos: Variable categórica de ingresos agrupados en rangos de salarios mínimos (menos de 2 SML y más de 2 SML).
#Objetivo general Analizar los factores sociodemográficos que influyen en el deseo de cambiar o añadir otro trabajo en una población urbana, con especial énfasis en las variables de sexo, edad, nivel de estudios e ingresos.
#Objetivos específicos Evaluar la relación entre el sexo y el deseo de cambiar o añadir otro trabajo. Examinar el impacto de la edad y los años de estudio en la probabilidad de querer cambiar o añadir otro trabajo. Determinar cómo el nivel de ingresos afecta la decisión de desear cambiar o añadir otro trabajo.
#Hipótesis planteada H0: No existe relación significativa entre las variables sociodemográficas (sexo, edad, nivel de estudios, ingresos) y el deseo de cambiar o añadir otro trabajo. H1: Existe una relación significativa entre las variables sociodemográficas (sexo, edad, nivel de estudios, ingresos) y el deseo de cambiar o añadir otro trabajo.
#Lectura, procesamiento y gestión de datos
# Cargar las librerías necesarias
install.packages("haven")
## Installing package into '/cloud/lib/x86_64-pc-linux-gnu-library/4.4'
## (as 'lib' is unspecified)
install.packages("dplyr")
## Installing package into '/cloud/lib/x86_64-pc-linux-gnu-library/4.4'
## (as 'lib' is unspecified)
install.packages("tidyverse")
## Installing package into '/cloud/lib/x86_64-pc-linux-gnu-library/4.4'
## (as 'lib' is unspecified)
library(haven) # Para leer archivos SPSS
library(dplyr) # Para manipulación de datos
##
## Attaching package: 'dplyr'
## The following objects are masked from 'package:stats':
##
## filter, lag
## The following objects are masked from 'package:base':
##
## intersect, setdiff, setequal, union
library(tidyverse) # Paquete que incluye varios otros útiles, como ggplot2, tidyr, etc.
## ── Attaching core tidyverse packages ──────────────────────── tidyverse 2.0.0 ──
## ✔ forcats 1.0.0 ✔ readr 2.1.5
## ✔ ggplot2 3.5.1 ✔ stringr 1.5.1
## ✔ lubridate 1.9.4 ✔ tibble 3.2.1
## ✔ purrr 1.0.2 ✔ tidyr 1.3.1
## ── 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
eph23 <- read_sav("REG02_EPHC_ANUAL_2023.SAV")
table(eph23$P06)
##
## 1 6
## 28613 29392
# Función para reemplazar caracteres especiales en nombres de variables
replace_special_chars <- function(names) {
names <- gsub("\\.", "", names)
names <- gsub("ñ", "ni", names)
names <- gsub("á", "a", names)
names <- gsub("é", "e", names)
names <- gsub("í", "i", names)
names <- gsub("ó", "o", names)
names <- gsub("ú", "u", names)
names <- gsub("ü", "u", names)
names <- gsub("ã", "a", names)
names <- gsub("â", "a", names)
names <- gsub("ê", "e", names)
names <- gsub("î", "i", names)
names <- gsub("ô", "o", names)
names <- gsub("û", "u", names)
names <- gsub("ï", "", names)
return(names)
}
# Aplicar la función a los nombres de columnas
#colnames(eph22) <- replace_special_chars(tolower(colnames(eph22)))
colnames(eph23) <- replace_special_chars(tolower(colnames(eph23)))
#colnames(eph22viv) <- replace_special_chars(tolower(colnames(eph22viv)))
#colnames(eph23viv) <- replace_special_chars(tolower(colnames(eph23viv)))
# Combinar las bases de datos
#ephcanu <- bind_rows(eph22, eph23)
ephcanu <- eph23
#ephvivi <- bind_rows(eph22viv, eph23viv)
names(ephcanu)
## [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] "ed11f1" "ed11f1a" "ed11gh1" "ed11gh1a" "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"
# Recodificación y creación de variables
ephcanurec <- ephcanu %>%
mutate(
area_desc = case_when(
area == 1 ~ "Urbano",
area == 6 ~ "Rural",
TRUE ~ as.character(area)
),
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)
),
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)
),
sexo = case_when(
p06 == 1 ~ "Hombres",
p06 == 6 ~ "Mujeres",
TRUE ~ as.character(p06)
),
estadocivil = case_when(
p09 == 1 ~ "Casado",
p09 == 2 ~ "Unido",
p09 == 3 ~ "Separado",
p09 == 4 ~ "Viudo",
p09 == 5 ~ "Soltero",
p09 == 6 ~ "Divorciado",
p09 == 9 ~ "NR",
TRUE ~ as.character(p09)
),
ecivil2categ = case_when(
p09 == 1 ~ "Casado/unido",
p09 == 2 ~ "Casado/unido",
p09 == 3 ~ "Vive solo",
p09 == 4 ~ "Vive solo",
p09 == 5 ~ "Vive solo",
p09 == 6 ~ "Vive solo",
p09 == 9 ~ "NR",
TRUE ~ as.character(p09)
),
cotizacaja = case_when(
b10 == 1 ~ "Si",
b10 == 6 ~ "No",
b10 == 9 ~ "NR",
TRUE ~ as.character(b10)
),
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",
TRUE ~ as.character(b11)
),
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",
TRUE ~ as.character(cate_pea)
),
tipoocupa = case_when(
ocup_pea == 1 ~ "Directivos",
ocup_pea == 2 ~ "Profesionales científicos e intelectuales",
ocup_pea == 3 ~ "Técnicos y prof. nivel medio",
ocup_pea == 4 ~ "Empleados de oficina",
ocup_pea == 5 ~ "Trab. servicios y vendedores",
ocup_pea == 6 ~ "Agricultores y trab. agropec.",
ocup_pea == 7 ~ "Oficiales, operarios y artesanos",
ocup_pea == 8 ~ "Operadores de máquinas",
ocup_pea == 9 ~ "Trab. no calificados",
ocup_pea == 10 ~ "Fuerzas armadas",
ocup_pea == 99 ~ "NR",
TRUE ~ as.character(ocup_pea)
),
ramadesc = case_when(
rama_pea == 1 ~ "Agropecuaria",
rama_pea == 2 ~ "Ind. manufactureras",
rama_pea == 3 ~ "Electricidad, gas y agua",
rama_pea == 4 ~ "Construcciones",
rama_pea == 5 ~ "Comercio, restaurantes y hoteles",
rama_pea == 6 ~ "Transporte y comunicaciones",
rama_pea == 7 ~ "Finanzas, seguros, inmuebles",
rama_pea == 8 ~ "Servicios comunales, sociales y personales",
rama_pea == 99 ~ "NR",
TRUE ~ as.character(rama_pea)
),
sector = case_when(
rama_pea == 1 ~ 1,
rama_pea == 2 | rama_pea == 4 ~ 2,
rama_pea %in% c(3, 5, 6, 7, 8) ~ 3,
rama_pea == 99 ~ 99,
TRUE ~ NA_real_
),
situacionlab = case_when(
pead == 1 ~ "Otros ocupados",
pead == 2 ~ "Desocupados de 2ª o más veces",
pead == 3 ~ "Inactivos",
pead == 4 ~ "Subocup. Visible",
pead == 6 ~ "Desocupados de 1ª vez",
pead == 9 ~ "NR",
TRUE ~ as.character(pead)
),
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 agropec.",
informalidad == 2 ~ "Ocupados formales no agropec.",
informalidad == 9 ~ "No Disponible",
TRUE ~ as.character(informalidad)
),
trimestredesc = case_when(
trimestre == 1 ~ "2022Trim1",
trimestre == 2 ~ "2022Trim2",
trimestre == 3 ~ "2022Trim3",
trimestre == 4 ~ "2022Trim4",
trimestre == 5 ~ "2023Trim1",
trimestre == 6 ~ "2023Trim2",
trimestre == 7 ~ "2023Trim3",
trimestre == 8 ~ "2023Trim4",
TRUE ~ as.character(trimestre)
),
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 <= 94 ~ "90 a 94",
TRUE ~ "95 y más"
),
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 <= 59 ~ "Adultos",
p02 >= 60 ~ "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",
p02 >= 65 ~ "Adultos mayores",
TRUE ~ as.character(p02)
),
nivelest = case_when(
anioest == 0 ~ "Sin instrucción",
anioest >= 1 & anioest <= 6 ~ "Primaria incompleta",
anioest >= 7 & anioest <= 12 ~ "Primaria completa",
anioest >= 13 & anioest <= 18 ~ "Secundaria completa",
anioest == 99 ~ "No disponible",
TRUE ~ as.character(anioest)
),
nivelest2 = case_when(
anioest == 0 ~ "Sin instrucción",
anioest >= 1 & anioest <= 6 ~ "1 a 6 años",
anioest >= 7 & anioest <= 12 ~ "7 a 12 años",
anioest >= 13 & anioest <= 18 ~ "13 y más",
anioest == 99 ~ "No disponible",
TRUE ~ as.character(anioest)
),
aportacajajub = case_when(
b10 == 1 ~ "Sí cotiza",
b10 == 6 ~ "No cotiza",
b10 == 9 ~ "No responde",
TRUE ~ NA_character_
)
)
# Convertir sector a factor
ephcanurec$sector <- factor(
ephcanurec$sector,
levels = c(1, 2, 3, 99),
labels = c("Primario", "Secundario", "Terciario", "NR")
)
# Crear las variables de ingreso
ephcanurec <- ephcanurec %>%
mutate(
ingoc1 = e01aimde,
ingoc2 = e01bimde,
ingoc3 = e01cimde,
ingoc4 = e01kde
)
# Etiquetar las variables
attr(ephcanurec$ingoc1, "label") <- "Ingreso ocupación principal sin NR"
attr(ephcanurec$ingoc2, "label") <- "Ingreso ocupación secundaria sin NR"
attr(ephcanurec$ingoc3, "label") <- "Ingreso ocupación terciaria sin NR"
attr(ephcanurec$ingoc4, "label") <- "Ingreso por pensión adulto mayor"
# Calcular el ingreso total sumando ingoc1, ingoc2 e ingoc3
ephcanurec <- ephcanurec %>%
mutate(
ingtotal = rowSums(select(., ingoc1, ingoc2, ingoc3, ingoc4), na.rm = TRUE)
)
# Reemplazar ingtotal con NA si su valor es 0
ephcanurec <- ephcanurec %>%
mutate(ingtotal = ifelse(ingtotal == 0, NA, ingtotal))
# Etiquetar la variable ingtotal
attr(ephcanurec$ingtotal, "label") <- "Ingreso total sin NR"
# Verificar los resultados
summary(ephcanurec$ingtotal)
## Min. 1st Qu. Median Mean 3rd Qu. Max. NA's
## 667 884148 2003132 2758276 3014140 414944056 29448
# Crear la variable 'sml' según el trimestre
ephcanurec <- ephcanurec %>%
mutate(
sml = case_when(
anio==2022 ~ 2550307,
anio==2023 ~ 2680373,
TRUE ~ NA_real_
)
)
# Crear la variable 'ingoc1SML' como la división de 'ingoc1' entre 'sml'
ephcanurec <- ephcanurec %>%
mutate(
ingoc1SML = ifelse(!is.na(ingoc1), floor(ingoc1 / sml), NA_real_)
)
# Reemplazar los valores de 'ingoc1SML' superiores a 5 por 5
ephcanurec <- ephcanurec %>%
mutate(
ingoc1SML = ifelse(ingoc1SML > 5 & !is.na(ingoc1SML), 5, ingoc1SML)
)
# Convertir 'ingoc1SML' en factor con etiquetas
ephcanurec$ingoc1SML <- factor(
ephcanurec$ingoc1SML,
levels = c(0, 1, 2, 3, 4, 5),
labels = c(
"Menos de 1SML",
"1 a menos de 2SML",
"2 a menos de 3SML",
"3 a menos de 4SML",
"4 a menos de 5SML",
"5 y más"
)
)
# Etiqueta para la variable 'ingoc1SML'
attr(ephcanurec$ingoc1SML, "label") <- "Monto del salario nominal/SML (bruto)"
# Verificar la tabla de frecuencias para 'ingoc1SML'
table(ephcanurec$ingoc1SML)
##
## Menos de 1SML 1 a menos de 2SML 2 a menos de 3SML 3 a menos de 4SML
## 49241 6647 1311 358
## 4 a menos de 5SML 5 y más
## 117 331
# Crear variable binaria para el deseo de mejorar/cambiar ocupación
# B03: 1,2,3 = desea cambiar/mejorar/adicionar; 6 = no desea; 9=NR
# Creamos: desea_cambiar = 1 si B03 en {1,2,3}, 0 si B03=6, excluimos NR
jovenesurbanos <- ephcanurec %>%
mutate(
deseacambiar = case_when(
d03 %in% c(1, 2, 3) ~ 1,
d03 == 6 ~ 0
)
) %>%
filter(!is.na(deseacambiar) & tramoedad == "Jóvenes" & area==6) # excluir NR e incluir solo jovenes
table(jovenesurbanos$p02,jovenesurbanos$deseacambiar )
##
## 0 1
## 14 75 18
## 15 84 28
## 16 92 41
## 17 111 64
## 18 112 106
## 19 130 86
## 20 119 103
## 21 122 99
## 22 142 93
## 23 141 108
## 24 137 92
## 25 118 106
## 26 110 121
## 27 161 111
## 28 145 113
## 29 178 108
# Tabla de jóvenes por sexo y grupo de edad a nivel país
tabla_pais <- jovenesurbanos %>%
group_by(sexo, deseacambiar) %>%
summarize(total = sum(fex2022)) %>%
pivot_wider(names_from = c(deseacambiar), values_from = total, values_fill = 0)
## `summarise()` has grouped output by 'sexo'. You can override using the
## `.groups` argument.
tabla_pais
## # A tibble: 2 × 3
## # Groups: sexo [2]
## sexo `0` `1`
## <chr> <dbl> <dbl>
## 1 Hombres 122542. 87648.
## 2 Mujeres 66405. 46363.
# Crear la tabla de contingencia
matriz_pais <- tabla_pais %>%
column_to_rownames(var = "sexo") %>% # Usar los valores de "sexo" como nombres de fila
as.matrix() # Convertir a matriz
# Verificar la matriz
print(matriz_pais)
## 0 1
## Hombres 122541.7 87648.43
## Mujeres 66404.5 46362.85
# Realizar la prueba de chi-cuadrado
prueba_chi <- chisq.test(matriz_pais)
# Resultados de la prueba
print(prueba_chi)
##
## Pearson's Chi-squared test with Yates' continuity correction
##
## data: matriz_pais
## X-squared = 10.353, df = 1, p-value = 0.001292
# Valores adicionales
cat("Estadístico Chi-cuadrado:", prueba_chi$statistic, "\n")
## Estadístico Chi-cuadrado: 10.35329
cat("p-valor:", prueba_chi$p.value, "\n")
## p-valor: 0.001292444
cat("Grados de libertad:", prueba_chi$parameter, "\n")
## Grados de libertad: 1
Interpretación: La prueba Chi-cuadrado reveló una asociación significativa entre el sexo y el deseo de mejorar o añadir otro trabajo, lo que sugiere que existen diferencias en la motivación laboral entre hombres y mujeres en el conjunto de datos analizados.
# Tabla de jóvenes por sexo y grupo de edad a nivel país
tabla_pais <- jovenesurbanos %>%
group_by(edadquinquenal, deseacambiar) %>%
summarize(total = sum(fex2022)) %>%
pivot_wider(names_from = c(deseacambiar), values_from = total, values_fill = 0)
## `summarise()` has grouped output by 'edadquinquenal'. You can override using
## the `.groups` argument.
tabla_pais
## # A tibble: 4 × 3
## # Groups: edadquinquenal [4]
## edadquinquenal `0` `1`
## <chr> <dbl> <dbl>
## 1 10 a 14 7011. 1639.
## 2 15 a 19 47723. 30010.
## 3 20 a 24 63774. 47274.
## 4 25 a 29 70438. 55088.
# Crear la tabla de contingencia
matriz_pais <- tabla_pais %>%
column_to_rownames(var = "edadquinquenal") %>% # Usar los valores de "edadquinquenal" como nombres de fila
as.matrix() # Convertir a matriz
# Verificar la matriz
print(matriz_pais)
## 0 1
## 10 a 14 7010.517 1638.844
## 15 a 19 47723.462 30010.274
## 20 a 24 63774.430 47274.298
## 25 a 29 70437.751 55087.870
# Realizar la prueba de chi-cuadrado
prueba_chi <- chisq.test(matriz_pais)
# Resultados de la prueba
print(prueba_chi)
##
## Pearson's Chi-squared test
##
## data: matriz_pais
## X-squared = 2426.9, df = 3, p-value < 2.2e-16
# Valores adicionales
cat("Estadístico Chi-cuadrado:", prueba_chi$statistic, "\n")
## Estadístico Chi-cuadrado: 2426.928
cat("p-valor:", prueba_chi$p.value, "\n")
## p-valor: 0
cat("Grados de libertad:", prueba_chi$parameter, "\n")
## Grados de libertad: 3
Interpretación: La prueba Chi-cuadrado reveló una asociación significativa entre el deseo de mejorar o añadir otro trabajo y la edad (quinquenal), con un p-valor menor a 0.05. Esto sugiere que existe una diferencia significativa en las motivaciones laborales entre los diferentes grupos de edad en el conjunto de datos analizados.
# Tabla de jóvenes por sexo y nivel de estudios
tabla_pais <- jovenesurbanos %>%
group_by(nivelest, deseacambiar) %>%
summarize(total = sum(fex2022)) %>%
pivot_wider(names_from = c(deseacambiar), values_from = total, values_fill = 0)
## `summarise()` has grouped output by 'nivelest'. You can override using the
## `.groups` argument.
tabla_pais
## # A tibble: 5 × 3
## # Groups: nivelest [5]
## nivelest `0` `1`
## <chr> <dbl> <dbl>
## 1 No disponible 69.4 0
## 2 Primaria completa 119968. 83257.
## 3 Primaria incompleta 32311. 21812.
## 4 Secundaria completa 35554. 28623.
## 5 Sin instrucción 1043. 320.
# Crear la matriz de contingencia
matriz_pais <- tabla_pais %>%
column_to_rownames(var = "nivelest") %>% # Usar "nivelest" como nombres de fila
as.matrix() # Convertir a matriz
# Verificar la matriz de contingencia
print(matriz_pais)
## 0 1
## No disponible 69.35193 0.0000
## Primaria completa 119968.03475 83257.0146
## Primaria incompleta 32311.11283 21811.6189
## Secundaria completa 35554.38346 28623.0941
## Sin instrucción 1043.27673 319.5581
# Realizar la prueba de chi-cuadrado
prueba_chi <- chisq.test(matriz_pais)
# Mostrar resultados de la prueba
cat("Estadístico Chi-cuadrado:", prueba_chi$statistic, "\n")
## Estadístico Chi-cuadrado: 541.958
cat("p-valor:", prueba_chi$p.value, "\n")
## p-valor: 5.621617e-116
cat("Grados de libertad:", prueba_chi$parameter, "\n")
## Grados de libertad: 4
# Resumen completo
print(prueba_chi)
##
## Pearson's Chi-squared test
##
## data: matriz_pais
## X-squared = 541.96, df = 4, p-value < 2.2e-16
Interpretación: Interpretación: La prueba Chi-cuadrado reveló una asociación significativa entre el deseo de mejorar o añadir otro trabajo y el nivel de estudios, con un p-valor muy bajo (p < 2.2e-16). Esto sugiere que existen diferencias significativas en las motivaciones laborales según el nivel educativo alcanzado en el conjunto de datos analizados.
# Tabla de jóvenes por sexo y nivel de ingresos
tabla_pais <- jovenesurbanos %>%
group_by(ingoc1SML, deseacambiar) %>%
summarize(total = sum(fex2022)) %>%
pivot_wider(names_from = c(deseacambiar), values_from = total, values_fill = 0)
## `summarise()` has grouped output by 'ingoc1SML'. You can override using the
## `.groups` argument.
tabla_pais
## # A tibble: 6 × 3
## # Groups: ingoc1SML [6]
## ingoc1SML `0` `1`
## <fct> <dbl> <dbl>
## 1 Menos de 1SML 151973. 118091.
## 2 1 a menos de 2SML 30826. 14839.
## 3 2 a menos de 3SML 3823. 733.
## 4 3 a menos de 4SML 1454. 277.
## 5 4 a menos de 5SML 367. 0
## 6 5 y más 503. 72.4
# Crear la tabla de jóvenes por nivel de ingresos y el deseo de cambiar trabajo
tabla_pais <- jovenesurbanos %>%
group_by(ingoc1SML, deseacambiar) %>%
summarize(total = sum(fex2022), .groups = "drop") %>%
pivot_wider(names_from = deseacambiar, values_from = total, values_fill = list(total = 0))
# Verificar la tabla generada
print(tabla_pais)
## # A tibble: 6 × 3
## ingoc1SML `0` `1`
## <fct> <dbl> <dbl>
## 1 Menos de 1SML 151973. 118091.
## 2 1 a menos de 2SML 30826. 14839.
## 3 2 a menos de 3SML 3823. 733.
## 4 3 a menos de 4SML 1454. 277.
## 5 4 a menos de 5SML 367. 0
## 6 5 y más 503. 72.4
# Realizar la prueba chi-cuadrado de independencia
# Asegúrate de pasar la tabla de frecuencias para la prueba
resultado_chi <- chisq.test(as.matrix(tabla_pais[, -1])) # Excluye la columna de 'ingoc1SML'
# Mostrar los resultados de la prueba
print(resultado_chi)
##
## Pearson's Chi-squared test
##
## data: as.matrix(tabla_pais[, -1])
## X-squared = 4211.7, df = 5, p-value < 2.2e-16
Interpretación: La prueba Chi-cuadrado reveló una asociación significativa entre el deseo de mejorar o añadir otro trabajo y el nivel de ingresos, con un p-valor muy bajo (p < 2.2e-16). Esto sugiere que el nivel de ingresos influye significativamente en la decisión de mejorar o añadir un trabajo, indicando diferencias en las motivaciones laborales según el ingreso de los individuos en el conjunto de datos analizados.
# Agrupar la variable ingoc1SML en dos categorías y ajustar el modelo logit
modelo_logit_2cat <- jovenesurbanos %>%
mutate(
ingoc1SML_2cat = ifelse(
ingoc1SML %in% c("menos de 1 salario mínimo", "1 a menos de 2SML"),
"menos de 2 SML",
"más de 2 SML"
),
ingoc1SML_2cat = factor(ingoc1SML_2cat, levels = c("menos de 2 SML", "más de 2 SML"))
) %>%
glm(
deseacambiar ~ sexo + p02 + anioest + ingoc1SML_2cat,
data = .,
family = binomial(link = "logit")
)
# Resumen del modelo
summary(modelo_logit_2cat)
##
## Call:
## glm(formula = deseacambiar ~ sexo + p02 + anioest + ingoc1SML_2cat,
## family = binomial(link = "logit"), data = .)
##
## Coefficients:
## Estimate Std. Error z value Pr(>|z|)
## (Intercept) -2.121785 0.253027 -8.386 < 2e-16 ***
## sexoMujeres -0.225732 0.077124 -2.927 0.003424 **
## p02 0.036535 0.008481 4.308 1.65e-05 ***
## anioest 0.036665 0.010488 3.496 0.000472 ***
## ingoc1SML_2catmás de 2 SML 0.729048 0.118902 6.131 8.71e-10 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## (Dispersion parameter for binomial family taken to be 1)
##
## Null deviance: 4577.2 on 3373 degrees of freedom
## Residual deviance: 4512.9 on 3369 degrees of freedom
## AIC: 4522.9
##
## Number of Fisher Scoring iterations: 4
# Calcular Odds Ratios e intervalos de confianza
exp(cbind(OddsRatio = coef(modelo_logit_2cat), confint(modelo_logit_2cat)))
## Waiting for profiling to be done...
## OddsRatio 2.5 % 97.5 %
## (Intercept) 0.1198176 0.07277106 0.1962439
## sexoMujeres 0.7979320 0.68570083 0.9277973
## p02 1.0372109 1.02014080 1.0546314
## anioest 1.0373458 1.01660359 1.0591284
## ingoc1SML_2catmás de 2 SML 2.0731065 1.64626180 2.6246397
Interpretación de los coeficientes del modelo logit: Intercepto: El coeficiente del intercepto es -2.12, lo que implica que, cuando todas las variables independientes tienen un valor de referencia (hombres, menos de 2 SML, edad y años de estudio igual a 0), la log-odds de desear cambiar o añadir un trabajo es negativa, lo que indica que la probabilidad es baja. El odds ratio (OR) asociado es 0.12, lo que significa que la probabilidad de desear cambiar o añadir un trabajo es muy baja en comparación con no desearlo, cuando todas las demás variables son 0. Sexo (Mujeres): El coeficiente para la variable “sexoMujeres” es -0.23, lo que indica que las mujeres tienen menores probabilidades (en términos de log-odds) de desear cambiar o añadir otro trabajo en comparación con los hombres, manteniendo constantes las demás variables. El OR asociado es 0.80, lo que significa que las mujeres tienen un 20% menos de probabilidad de desear cambiar o añadir otro trabajo en comparación con los hombres, todo lo demás igual. Edad (p02): El coeficiente para la edad es 0.04, lo que indica que a medida que aumenta la edad (p02), aumenta la probabilidad de desear cambiar o añadir otro trabajo. El OR asociado es 1.04, lo que significa que, por cada año adicional de edad, la probabilidad de desear cambiar o añadir otro trabajo aumenta un 4%. Años de estudio (anioest): El coeficiente para los años de estudio es 0.04, lo que sugiere que a medida que una persona tiene más años de estudio, la probabilidad de desear cambiar o añadir otro trabajo también aumenta. El OR es 1.04, lo que implica que por cada año adicional de estudio, la probabilidad de desear cambiar o añadir otro trabajo aumenta un 4%. Nivel de ingresos (más de 2 SML): La variable “ingoc1SML_2catmás de 2 SML” tiene un coeficiente de 0.73, lo que indica que las personas que ganan más de 2 salarios mínimos tienen una mayor probabilidad de desear cambiar o añadir otro trabajo en comparación con aquellas que ganan menos de 2 salarios mínimos. El OR es 2.07, lo que significa que las personas con ingresos superiores a 2 SML tienen 2.07 veces más probabilidades de desear cambiar o añadir otro trabajo en comparación con las personas que ganan menos de 2 SML.
Interpretación de los coeficientes en términos de odds ratios
# Calcular Odds Ratios e intervalos de confianza con confint.default
odds_ratios_default <- exp(cbind(OddsRatio = coef(modelo_logit_2cat), confint.default(modelo_logit_2cat)))
# Mostrar los resultados
odds_ratios_default
## OddsRatio 2.5 % 97.5 %
## (Intercept) 0.1198176 0.07296984 0.1967422
## sexoMujeres 0.7979320 0.68598972 0.9281415
## p02 1.0372109 1.02011284 1.0545955
## anioest 1.0373458 1.01623997 1.0588899
## ingoc1SML_2catmás de 2 SML 2.0731065 1.64214563 2.6171678
Interpretación Intercepto (0.1198): OR: 0.12. Este valor sugiere que, cuando todas las variables independientes son 0 (es decir, en la categoría de referencia: hombres, menos de 2 SML, edad y años de estudio igual a 0), la probabilidad de desear cambiar o añadir otro trabajo es muy baja. El intervalo de confianza (0.07, 0.20) indica que la probabilidad es baja y está bastante lejos de 1, lo que confirma la baja probabilidad. Sexo (Mujeres) (0.7979): OR: 0.80. Este valor indica que las mujeres tienen un 20% menos de probabilidad de desear cambiar o añadir otro trabajo en comparación con los hombres, manteniendo constantes las demás variables. El intervalo de confianza (0.69, 0.93) no incluye 1, lo que sugiere que la diferencia en las probabilidades entre hombres y mujeres es estadísticamente significativa. Edad (p02) (1.0372): OR: 1.04. Por cada unidad adicional en la variable de edad (p02), la probabilidad de desear cambiar o añadir otro trabajo aumenta un 4%. El intervalo de confianza (1.02, 1.05) indica que el efecto es positivo y significativo, ya que no incluye 1. Años de estudio (anioest) (1.0373): OR: 1.04. Cada año adicional de estudio está asociado con un incremento del 4% en la probabilidad de desear cambiar o añadir otro trabajo. El intervalo de confianza (1.02, 1.06) también es significativo, ya que no incluye 1. Nivel de ingresos (más de 2 SML) (2.0731): OR: 2.07. Las personas que ganan más de 2 salarios mínimos tienen 2.07 veces más probabilidades de desear cambiar o añadir otro trabajo en comparación con las personas que ganan menos de 2 SML. El intervalo de confianza (1.64, 2.62) no incluye 1, lo que confirma que este es un efecto significativo.
Sexo: Las mujeres tienen menos probabilidades de querer cambiar o añadir otro trabajo en comparación con los hombres. Edad: Los más jóvenes tienen más probabilidades de desear cambiar o añadir otro trabajo. Nivel de estudios: A mayor nivel de estudios, mayor es la probabilidad de desear cambiar o añadir otro trabajo. Ingresos: Aquellos con mayores ingresos tienen mayor probabilidad de desear cambiar o añadir otro trabajo.
#Recomendaciones Las políticas laborales deberían tener en cuenta estos factores sociodemográficos para promover condiciones de trabajo que fomenten el bienestar de la fuerza laboral, especialmente en grupos de mayor vulnerabilidad (mujeres, bajos ingresos, menos educación, más jóvenes).