Se pueden descargar de este link (si no funciona pégalo en tu browser) https://www.dropbox.com/s/97dmr62jqcaffu1/D%C3%ADa1.pdf?dl=0
En RStudio podemos tener varias ventanas que nos permiten tener más control de nuestro “ambiente”, el historial, los “scripts” o códigos que escribimos y por supuesto, tenemos nuestra consola, que también tiene el símbolo “>” con R. Podemos pedir operaciones básicas
2+5
## [1] 7
5*3
## [1] 15
#Para escribir comentarios y que no los lea como operaciones ponemos el símbolo de gato
# Lo podemos hacer para un comentario en una línea o la par de una instrucción
1:5 # Secuencia 1-5
## [1] 1 2 3 4 5
seq(1, 10, 0.5) # Secuencia con incrementos diferentes a 1
## [1] 1.0 1.5 2.0 2.5 3.0 3.5 4.0 4.5 5.0 5.5 6.0 6.5 7.0 7.5
## [15] 8.0 8.5 9.0 9.5 10.0
c('a','b','c') # Vector con caracteres
## [1] "a" "b" "c"
1:7 # Entero
## [1] 1 2 3 4 5 6 7
40<80 # Valor logico
## [1] TRUE
2+2 == 5 # Valor logico
## [1] FALSE
T == TRUE # T expresion corta de verdadero
## [1] TRUE
R es un lenguaje de programación por objetos. Por lo cual vamos a tener objetos a los que se les asigna su contenido. Si usamos una flechita “<-” o “->” le estamos asignando algo al objeto que apunta la felcha.
x <- 24 # Asignacion de valor 24 a la variable x para su uso posterior (OBJETO)
x/2 # Uso posterior de variable u objeto x
## [1] 12
x # Imprime en pantalla el valor de la variable u objeto
## [1] 24
x <- TRUE # Asigna el valor logico TRUE a la variable x OJO: x toma el ultimo valor que se le asigna
x
## [1] TRUE
Los vectores son uno de los objetos más usados en R.
y <- c(2,4,6) # Vector numerico
y <- c('Primaria', 'Secundaria') # Vector caracteres
Dado que poseen elementos, podemos también observar y hacer operaciones con sus elementos, usando “[ ]” para acceder a ellos
y[2] # Acceder al segundo valor del vector y
## [1] "Secundaria"
y[3] <- 'Preparatoria y más' # Asigna valor a la tercera componente del vector
sex <-1:2 # Asigna a la variable sex los valores 1 y 2
names(sex) <- c("Femenino", "Masculino") # Asigna nombres al vector de elementos sexo
sex[2] # Segundo elemento del vector sex
## Masculino
## 2
Algunas funciones básicas son las siguientes. Vamos a ir viendo más funciones, pero para entender cómo funcionan, haremos unos ejemplos y cómo pedir ayuda sobre ellas.
sum (10,20,30) # Función suma
## [1] 60
rep('R', times=3) # Repite la letra R el numero de veces que se indica
## [1] "R" "R" "R"
sqrt(9) # Raiz cuadrada de 9
## [1] 3
Pedir ayuda es indispensable para aprender a escribir nuestros códigos. A prueba y error, es el mejor sistema para aprender. Podemos usar la función help, example y ?
help(sum) # Ayuda sobre función sum
example(sum) # Ejemplo de función sum
##
## sum> ## Pass a vector to sum, and it will add the elements together.
## sum> sum(1:5)
## [1] 15
##
## sum> ## Pass several numbers to sum, and it also adds the elements.
## sum> sum(1, 2, 3, 4, 5)
## [1] 15
##
## sum> ## In fact, you can pass vectors into several arguments, and everything gets added.
## sum> sum(1:2, 3:5)
## [1] 15
##
## sum> ## If there are missing values, the sum is unknown, i.e., also missing, ....
## sum> sum(1:5, NA)
## [1] NA
##
## sum> ## ... unless we exclude missing values explicitly:
## sum> sum(1:5, NA, na.rm = TRUE)
## [1] 15
Todos los objetos que hemos declarado hasta ahora son parte de nuestro “ambiente” (enviroment). Para saber qué está en nuestro ambiente usamos el comando
ls()
## [1] "sex" "x" "y"
gc() # Garbage collection, reporta memoria en uso
## used (Mb) gc trigger (Mb) limit (Mb) max used (Mb)
## Ncells 486965 26.1 1076025 57.5 NA 630605 33.7
## Vcells 952208 7.3 8388608 64.0 16384 1767316 13.5
Para borrar todos nuestros objetos, usamos el siguiente comando, que equivale a usar la escobita de la venta de environment
rm(list=ls()) # Borrar objetos actuales
Es muy útil saber dónde estamos trabajando y donde queremos trabajar. Por eso podemos utilizar los siguientes comandos para saberlo
Ojo, checa, si estás desdes una PC, cómo cambian las “" por”/" o por “\”
getwd() # Directorio actual
## [1] "/Users/anaescoto/Dropbox/TeTra2018/CursoR"
setwd("/Users/anaescoto/Dropbox/TeTra2018/CursoR")# Cambio de directorio
list.files() # Lista de archivos en ese directorio
## [1] "~$Día2.pptx" "2018trim2_dbf" "Ambiente_D1.RData"
## [4] "chapter1.pdf" "chapter2.pdf" "coe1t218.dbf"
## [7] "COE1T218.dta" "coe2t218.dbf" "COE2T218.dta"
## [10] "D2.R" "Día1.pdf" "Día1.pptx"
## [13] "Día2.pdf" "Día2.pptx" "document (6).pdf"
## [16] "hogt218.dbf" "HOGT218.dta" "Para instalar R.pptx"
## [19] "Práctica Día 1.Rmd" "Práctica Día 2.Rmd" "Práctica_Día_1.html"
## [22] "Práctica_Día_1.Rmd" "Práctica_Día_2.html" "rsconnect"
## [25] "sdemt218.dbf" "SDEMT218.dta" "Snijders&Bocker.pdf"
## [28] "vivt218.dbf" "VIVT218.dta"
Checar que esto también se puede hacer desde el menú
Las librerías son útiles para realizar funciones especiales. La especialización de paquetes es más rápida en R que en otros programas por ser un software libre.
Vamos a instalar el paquete “foreign”, como su nombre lo indica, nos permite leer elementos “extranjeros” en R. Es sumamente útil porque nos permite leer casi todos los formatos, sin necesidad de usar paquetes especializados como StatTransfer.
Para instalar las paqueterías usamos el siguiente comando “install.packages()” Checa que adentro del paréntesis va el nombre de la librería, con comillas. Si estamos trabajando en la computadora no es necesario poner la opción repos = “http://cran.us.r-project.org”."
Con la opción “dependencies = TRUE” R nos instalará no sólo la librería o paquete que estamos pidiendo, sino todo aquellos paquetes que necesite la librería en cuestión. Muchas veces los diseños de los paquetes implican el uso de algún otro anterior. Por lo que poner esta sentencia nos puede ahorrar errores cuando estemos usando el paquete. Piensa que esto es similar a cuando enciendes tu computadora y tu sistema operativo te pide que mantengas las actualizaciones.
Vamos a instalar dos librerías que nos permiten importar formatos.
install.packages("foreign", repos = "http://cran.us.r-project.org", dependencies = TRUE)
##
## The downloaded binary packages are in
## /var/folders/fr/mw1x21js54367mjdhqsjfwqm0000gn/T//RtmpuixgVs/downloaded_packages
install.packages("haven", repos = "http://cran.us.r-project.org", dependencies = TRUE)
##
## The downloaded binary packages are in
## /var/folders/fr/mw1x21js54367mjdhqsjfwqm0000gn/T//RtmpuixgVs/downloaded_packages
Este proceso no hay que hacerlo siempre. Si no sólo la primera vez. Una vez instalado un paquete de librería, la llamamos con el comando “library”
library(foreign)
Hoy vamos llamar el archivo. Este archivo es justo como se puede descargar desde Inegi. Inegi tiene muchos formatos de publicación. No obstante, el que es común a todos es el dbf. Al objeto enoe_sdemt218 se le asignará lo que leemos de archivo dbf. Actualmente la base se encuesta en este link link La base se puede descargar desde el sitio del curso, o bien, desde este link directo en formato dbf y de stata https://www.dropbox.com/sh/ajpvxqdkalbj2bk/AABeOHQ33C-KOxIkmD9XqWx2a?dl=0
Una vez que descargues la base, colocala en la carpeta de trabajo para que sea más sencillo de revisar
enoe_sdemt218 <- read.dbf("sdemt218.dbf")
Esta parte también lo podemos hacer a traves de importar con el comando haven, en menú File-> Import Dataset from STATA (porque así tenemos las etiquetas de las variables y será más rápido que nos familiaricemos con ella).
library(haven)
enoe_sdemt218 <- read_dta("SDEMT218.dta")
Vamos a ver nuestra base de datos. Esto es como la “vista de datos” de SPSS o bien lo que veríamos con el “browse” en STATA
#View(enoe_sdemt218)
También con “head, vemos las primeras 6 líneas de la base de datos
head(enoe_sdemt218)
## # A tibble: 6 x 104
## r_def loc mun est est_d ageb t_loc cd_a ent con upm d_sem
## <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
## 1 0 1 2 10 109 0 1 1 9 40001 900471 101
## 2 0 1 2 10 109 0 1 1 9 40001 900471 101
## 3 0 1 2 10 109 0 1 1 9 40001 900471 101
## 4 0 1 2 10 109 0 1 1 9 40001 900471 101
## 5 0 1 2 10 109 0 1 1 9 40001 900471 101
## 6 0 1 2 10 109 0 1 1 9 40001 900471 101
## # ... with 92 more variables: n_pro_viv <dbl>, v_sel <dbl+lbl>,
## # n_hog <dbl+lbl>, h_mud <dbl+lbl>, n_ent <dbl+lbl>, per <dbl+lbl>,
## # n_ren <dbl+lbl>, c_res <dbl+lbl>, par_c <dbl>, sex <dbl+lbl>,
## # eda <dbl>, nac_dia <dbl+lbl>, nac_mes <dbl+lbl>, nac_anio <dbl>,
## # l_nac_c <dbl+lbl>, cs_p12 <dbl+lbl>, cs_p13_1 <dbl+lbl>,
## # cs_p13_2 <dbl+lbl>, cs_p14_c <chr>, cs_p15 <dbl+lbl>,
## # cs_p16 <dbl+lbl>, cs_p17 <dbl+lbl>, n_hij <dbl+lbl>, e_con <dbl+lbl>,
## # cs_ad_mot <dbl+lbl>, cs_p20_des <chr>, cs_ad_des <dbl+lbl>,
## # cs_nr_mot <dbl+lbl>, cs_p22_des <chr>, cs_nr_ori <dbl+lbl>,
## # ur <dbl+lbl>, zona <dbl+lbl>, salario <dbl>, fac <dbl>,
## # clase1 <dbl+lbl>, clase2 <dbl+lbl>, clase3 <dbl+lbl>,
## # pos_ocu <dbl+lbl>, seg_soc <dbl+lbl>, rama <dbl+lbl>,
## # c_ocu11c <dbl+lbl>, ing7c <dbl+lbl>, dur9c <dbl+lbl>,
## # emple7c <dbl+lbl>, medica5c <dbl+lbl>, buscar5c <dbl+lbl>,
## # rama_est1 <dbl+lbl>, rama_est2 <dbl+lbl>, dur_est <dbl+lbl>,
## # ambito1 <dbl+lbl>, ambito2 <dbl+lbl>, tue1 <dbl+lbl>, tue2 <dbl+lbl>,
## # tue3 <dbl+lbl>, busqueda <dbl+lbl>, d_ant_lab <dbl+lbl>,
## # d_cexp_est <dbl+lbl>, dur_des <dbl+lbl>, sub_o <dbl+lbl>,
## # s_clasifi <dbl+lbl>, remune2c <dbl+lbl>, pre_asa <dbl+lbl>,
## # tip_con <dbl+lbl>, dispo <dbl+lbl>, nodispo <dbl+lbl>,
## # c_inac5c <dbl+lbl>, pnea_est <dbl+lbl>, niv_ins <dbl+lbl>,
## # eda5c <dbl+lbl>, eda7c <dbl+lbl>, eda12c <dbl+lbl>, eda19c <dbl+lbl>,
## # hij5c <dbl+lbl>, domestico <dbl+lbl>, anios_esc <dbl>, hrsocup <dbl>,
## # ingocup <dbl>, ing_x_hrs <dbl>, tpg_p8a <dbl+lbl>, tcco <dbl+lbl>,
## # cp_anoc <dbl+lbl>, imssissste <dbl+lbl>, ma48me1sm <dbl+lbl>,
## # p14apoyos <dbl+lbl>, scian <dbl+lbl>, t_tra <dbl+lbl>,
## # emp_ppal <dbl+lbl>, tue_ppal <dbl+lbl>, trans_ppal <dbl+lbl>,
## # mh_fil2 <dbl+lbl>, mh_col <dbl+lbl>, sec_ins <dbl+lbl>
También con “tail”, vemos las últimas 6 líneas de la base de datos
tail(enoe_sdemt218)
## # A tibble: 6 x 104
## r_def loc mun est est_d ageb t_loc cd_a ent con upm d_sem
## <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
## 1 0 272 10 10 49 0 4 86 " 4" 60024 4.60e5 503
## 2 0 141 9 20 268 0 4 86 19 60001 1.96e6 101
## 3 0 1 20 40 133 0 1 " 5" 11 40110 1.10e6 203
## 4 0 1 25 30 366 0 2 83 26 50096 2.61e6 401
## 5 0 1 30 30 58 0 1 17 " 5" 40170 5.03e5 206
## 6 0 1 22 20 449 0 2 83 32 50047 3.20e6 402
## # ... with 92 more variables: n_pro_viv <dbl>, v_sel <dbl+lbl>,
## # n_hog <dbl+lbl>, h_mud <dbl+lbl>, n_ent <dbl+lbl>, per <dbl+lbl>,
## # n_ren <dbl+lbl>, c_res <dbl+lbl>, par_c <dbl>, sex <dbl+lbl>,
## # eda <dbl>, nac_dia <dbl+lbl>, nac_mes <dbl+lbl>, nac_anio <dbl>,
## # l_nac_c <dbl+lbl>, cs_p12 <dbl+lbl>, cs_p13_1 <dbl+lbl>,
## # cs_p13_2 <dbl+lbl>, cs_p14_c <chr>, cs_p15 <dbl+lbl>,
## # cs_p16 <dbl+lbl>, cs_p17 <dbl+lbl>, n_hij <dbl+lbl>, e_con <dbl+lbl>,
## # cs_ad_mot <dbl+lbl>, cs_p20_des <chr>, cs_ad_des <dbl+lbl>,
## # cs_nr_mot <dbl+lbl>, cs_p22_des <chr>, cs_nr_ori <dbl+lbl>,
## # ur <dbl+lbl>, zona <dbl+lbl>, salario <dbl>, fac <dbl>,
## # clase1 <dbl+lbl>, clase2 <dbl+lbl>, clase3 <dbl+lbl>,
## # pos_ocu <dbl+lbl>, seg_soc <dbl+lbl>, rama <dbl+lbl>,
## # c_ocu11c <dbl+lbl>, ing7c <dbl+lbl>, dur9c <dbl+lbl>,
## # emple7c <dbl+lbl>, medica5c <dbl+lbl>, buscar5c <dbl+lbl>,
## # rama_est1 <dbl+lbl>, rama_est2 <dbl+lbl>, dur_est <dbl+lbl>,
## # ambito1 <dbl+lbl>, ambito2 <dbl+lbl>, tue1 <dbl+lbl>, tue2 <dbl+lbl>,
## # tue3 <dbl+lbl>, busqueda <dbl+lbl>, d_ant_lab <dbl+lbl>,
## # d_cexp_est <dbl+lbl>, dur_des <dbl+lbl>, sub_o <dbl+lbl>,
## # s_clasifi <dbl+lbl>, remune2c <dbl+lbl>, pre_asa <dbl+lbl>,
## # tip_con <dbl+lbl>, dispo <dbl+lbl>, nodispo <dbl+lbl>,
## # c_inac5c <dbl+lbl>, pnea_est <dbl+lbl>, niv_ins <dbl+lbl>,
## # eda5c <dbl+lbl>, eda7c <dbl+lbl>, eda12c <dbl+lbl>, eda19c <dbl+lbl>,
## # hij5c <dbl+lbl>, domestico <dbl+lbl>, anios_esc <dbl>, hrsocup <dbl>,
## # ingocup <dbl>, ing_x_hrs <dbl>, tpg_p8a <dbl+lbl>, tcco <dbl+lbl>,
## # cp_anoc <dbl+lbl>, imssissste <dbl+lbl>, ma48me1sm <dbl+lbl>,
## # p14apoyos <dbl+lbl>, scian <dbl+lbl>, t_tra <dbl+lbl>,
## # emp_ppal <dbl+lbl>, tue_ppal <dbl+lbl>, trans_ppal <dbl+lbl>,
## # mh_fil2 <dbl+lbl>, mh_col <dbl+lbl>, sec_ins <dbl+lbl>
Ver los nombres de las variables
names(enoe_sdemt218)
## [1] "r_def" "loc" "mun" "est" "est_d"
## [6] "ageb" "t_loc" "cd_a" "ent" "con"
## [11] "upm" "d_sem" "n_pro_viv" "v_sel" "n_hog"
## [16] "h_mud" "n_ent" "per" "n_ren" "c_res"
## [21] "par_c" "sex" "eda" "nac_dia" "nac_mes"
## [26] "nac_anio" "l_nac_c" "cs_p12" "cs_p13_1" "cs_p13_2"
## [31] "cs_p14_c" "cs_p15" "cs_p16" "cs_p17" "n_hij"
## [36] "e_con" "cs_ad_mot" "cs_p20_des" "cs_ad_des" "cs_nr_mot"
## [41] "cs_p22_des" "cs_nr_ori" "ur" "zona" "salario"
## [46] "fac" "clase1" "clase2" "clase3" "pos_ocu"
## [51] "seg_soc" "rama" "c_ocu11c" "ing7c" "dur9c"
## [56] "emple7c" "medica5c" "buscar5c" "rama_est1" "rama_est2"
## [61] "dur_est" "ambito1" "ambito2" "tue1" "tue2"
## [66] "tue3" "busqueda" "d_ant_lab" "d_cexp_est" "dur_des"
## [71] "sub_o" "s_clasifi" "remune2c" "pre_asa" "tip_con"
## [76] "dispo" "nodispo" "c_inac5c" "pnea_est" "niv_ins"
## [81] "eda5c" "eda7c" "eda12c" "eda19c" "hij5c"
## [86] "domestico" "anios_esc" "hrsocup" "ingocup" "ing_x_hrs"
## [91] "tpg_p8a" "tcco" "cp_anoc" "imssissste" "ma48me1sm"
## [96] "p14apoyos" "scian" "t_tra" "emp_ppal" "tue_ppal"
## [101] "trans_ppal" "mh_fil2" "mh_col" "sec_ins"
Revisar la estructura de la base de datos
str(enoe_sdemt218)
## Classes 'tbl_df', 'tbl' and 'data.frame': 392257 obs. of 104 variables:
## $ r_def : 'labelled' num 0 0 0 0 0 0 0 0 0 0 ...
## ..- attr(*, "label")= chr "Resultado definitivo de la entevista"
## ..- attr(*, "format.stata")= chr "%12.0g"
## ..- attr(*, "labels")= Named num 0 15
## .. ..- attr(*, "names")= chr "Entrevista completa" "Entrevista suspendida"
## $ loc : num 1 1 1 1 1 1 1 1 1 1 ...
## ..- attr(*, "label")= chr "Localidad"
## ..- attr(*, "format.stata")= chr "%12.0g"
## $ mun : num 2 2 2 2 2 2 2 2 2 2 ...
## ..- attr(*, "label")= chr "Municipio"
## ..- attr(*, "format.stata")= chr "%12.0g"
## $ est : num 10 10 10 10 10 10 10 10 10 10 ...
## ..- attr(*, "label")= chr "Estrato"
## ..- attr(*, "format.stata")= chr "%12.0g"
## $ est_d : num 109 109 109 109 109 109 109 109 109 109 ...
## ..- attr(*, "label")= chr "Estrato de diseño"
## ..- attr(*, "format.stata")= chr "%12.0g"
## $ ageb : num 0 0 0 0 0 0 0 0 0 0 ...
## ..- attr(*, "label")= chr "Área Geoestadística Básica"
## ..- attr(*, "format.stata")= chr "%12.0g"
## $ t_loc : 'labelled' num 1 1 1 1 1 1 1 1 1 1 ...
## ..- attr(*, "label")= chr "Tamaño de la localidad"
## ..- attr(*, "format.stata")= chr "%12.0g"
## ..- attr(*, "labels")= Named num 1 2 3 4
## .. ..- attr(*, "names")= chr "Localidades mayores de 100 000 habitantes" "Localidades de 15 000 a 99 999 habitantes" "Localidades de 2 500 a 14 999 habitantes" "Localidades menores de 2 500 habitantes"
## $ cd_a : 'labelled' num 1 1 1 1 1 1 1 1 1 1 ...
## ..- attr(*, "label")= chr "Ciudad autorrepresentada"
## ..- attr(*, "format.stata")= chr "%12.0g"
## ..- attr(*, "labels")= Named num 1 2 3 4 5 7 8 9 10 12 ...
## .. ..- attr(*, "names")= chr "México" "Guadalajara" "Monterrey" "Puebla" ...
## $ ent : 'labelled' num 9 9 9 9 9 9 9 9 9 9 ...
## ..- attr(*, "label")= chr "Entidad"
## ..- attr(*, "format.stata")= chr "%12.0g"
## ..- attr(*, "labels")= Named num 1 2 3 4 5 6 7 8 9 10 ...
## .. ..- attr(*, "names")= chr "Aguascalientes" "Baja California" "Baja California Sur" "Campeche" ...
## $ con : num 40001 40001 40001 40001 40001 ...
## ..- attr(*, "label")= chr "Control, número consecutivo"
## ..- attr(*, "format.stata")= chr "%12.0g"
## $ upm : num 9e+05 9e+05 9e+05 9e+05 9e+05 ...
## ..- attr(*, "label")= chr "Unidad primaria de muestreo"
## ..- attr(*, "format.stata")= chr "%12.0g"
## $ d_sem : 'labelled' num 101 101 101 101 101 101 101 101 101 101 ...
## ..- attr(*, "label")= chr "Distribución semanal"
## ..- attr(*, "format.stata")= chr "%12.0g"
## ..- attr(*, "labels")= Named num 101 102 103 104 105 106 107 108 109 110 ...
## .. ..- attr(*, "names")= chr "Panel Uno, Semana Uno" "Panel Uno, Semana Dos" "Panel Uno, Semana Tres" "Panel Uno, Semana Cuatro" ...
## $ n_pro_viv : num 9 9 9 9 34 34 65 65 65 90 ...
## ..- attr(*, "label")= chr "Número progresivo de vivienda"
## ..- attr(*, "format.stata")= chr "%12.0g"
## $ v_sel : 'labelled' num 1 1 1 1 2 2 3 3 3 4 ...
## ..- attr(*, "label")= chr "Vivienda seleccionada"
## ..- attr(*, "format.stata")= chr "%12.0g"
## ..- attr(*, "labels")= Named num 1 2 3 4 5 6 7 8 9 10 ...
## .. ..- attr(*, "names")= chr "Vivienda 1" "Vivienda 2" "Vivienda 3" "Vivienda 4" ...
## $ n_hog : 'labelled' num 1 1 1 1 1 1 1 1 1 1 ...
## ..- attr(*, "label")= chr "Número de hogar"
## ..- attr(*, "format.stata")= chr "%12.0g"
## ..- attr(*, "labels")= Named num 1 2 3 4 5 6
## .. ..- attr(*, "names")= chr "Hogar principal" "Hogar adicional" "Hogar adicional" "Hogar adicional" ...
## $ h_mud : 'labelled' num 0 0 0 0 0 0 0 0 0 0 ...
## ..- attr(*, "label")= chr "Hogar mudado"
## ..- attr(*, "format.stata")= chr "%12.0g"
## ..- attr(*, "labels")= Named num 0 1 2 3 4
## .. ..- attr(*, "names")= chr "Hogar sin cambio" "Primer cambio de hogar" "Segundo cambio de hogar" "Tercer cambio de hogar" ...
## $ n_ent : 'labelled' num 3 3 3 3 3 3 3 3 3 3 ...
## ..- attr(*, "label")= chr "Número de entrevista"
## ..- attr(*, "format.stata")= chr "%12.0g"
## ..- attr(*, "labels")= Named num 1 2 3 4 5
## .. ..- attr(*, "names")= chr "Primera entrevista" "Segunda entrevista" "Tercera entrevista" "Cuarta entrevista" ...
## $ per : 'labelled' num 218 218 218 218 218 218 218 218 218 218 ...
## ..- attr(*, "label")= chr "Período de levantamiento"
## ..- attr(*, "format.stata")= chr "%12.0g"
## ..- attr(*, "labels")= Named num 218
## .. ..- attr(*, "names")= chr "1ER DIGITO=Trimestre ULTIMOS DOS=AÑO"
## $ n_ren : 'labelled' num 1 2 3 4 1 2 1 2 3 1 ...
## ..- attr(*, "label")= chr "Número de renglón"
## ..- attr(*, "format.stata")= chr "%12.0g"
## ..- attr(*, "labels")= Named num 1 2 3 4 5 6 7 8 9 10 ...
## .. ..- attr(*, "names")= chr "Renglón uno" "Renglón dos" "Renglón tres" "Renglón cuatro" ...
## $ c_res : 'labelled' num 1 1 1 1 1 1 1 1 1 1 ...
## ..- attr(*, "label")= chr "Condición de residencia"
## ..- attr(*, "format.stata")= chr "%12.0g"
## ..- attr(*, "labels")= Named num 1 2 3
## .. ..- attr(*, "names")= chr "Residente habitual" "Ausente definitivo" "Nuevo residente"
## $ par_c : num 101 201 301 301 101 201 101 201 301 101 ...
## ..- attr(*, "label")= chr "Clave de parentesco"
## ..- attr(*, "format.stata")= chr "%12.0g"
## $ sex : 'labelled' num 1 2 2 2 1 2 1 2 2 1 ...
## ..- attr(*, "label")= chr "Sexo"
## ..- attr(*, "format.stata")= chr "%12.0g"
## ..- attr(*, "labels")= Named num 1 2
## .. ..- attr(*, "names")= chr "Hombre" "Mujer"
## $ eda : num 50 47 14 12 30 29 36 31 12 35 ...
## ..- attr(*, "label")= chr "Edad"
## ..- attr(*, "format.stata")= chr "%12.0g"
## $ nac_dia : 'labelled' num 28 4 22 9 18 7 17 7 12 30 ...
## ..- attr(*, "label")= chr "Día de nacimiento"
## ..- attr(*, "format.stata")= chr "%12.0g"
## ..- attr(*, "labels")= Named num 1 2 3 4 5 6 7 8 9 10 ...
## .. ..- attr(*, "names")= chr "Primero" "Dos" "Tres" "Cuatro" ...
## $ nac_mes : 'labelled' num 6 7 4 6 4 1 9 11 10 6 ...
## ..- attr(*, "label")= chr "Mes de nacimiento"
## ..- attr(*, "format.stata")= chr "%12.0g"
## ..- attr(*, "labels")= Named num 1 2 3 4 5 6 7 8 9 10 ...
## .. ..- attr(*, "names")= chr "Enero" "Febrero" "Marzo" "Abril" ...
## $ nac_anio : num 1967 1970 2003 2005 1987 ...
## ..- attr(*, "label")= chr "Año de nacimiento"
## ..- attr(*, "format.stata")= chr "%12.0g"
## $ l_nac_c : 'labelled' num 9 9 9 9 9 9 9 9 15 9 ...
## ..- attr(*, "label")= chr "Clave de lugar de nacimiento"
## ..- attr(*, "format.stata")= chr "%12.0g"
## ..- attr(*, "labels")= Named num 1 2 3 4 5 6 7 8 9 10 ...
## .. ..- attr(*, "names")= chr "Aguascalientes" "Baja California" "Baja California Sur" "Campeche" ...
## $ cs_p12 : 'labelled' num 1 1 1 1 1 1 1 1 1 1 ...
## ..- attr(*, "label")= chr "Pregunta 12 ¿Sabe leer y escribir un recado … ?"
## ..- attr(*, "format.stata")= chr "%12.0g"
## ..- attr(*, "labels")= Named num 0 1 2 9
## .. ..- attr(*, "names")= chr "Menor de 5 años" "Si sabe leer" "No sabe leer" "No sabe"
## $ cs_p13_1 : 'labelled' num 4 8 3 2 7 7 4 3 2 7 ...
## ..- attr(*, "label")= chr "Pregunta 13 ¿Hasta que grado aprobó … en la escuela"
## ..- attr(*, "format.stata")= chr "%12.0g"
## ..- attr(*, "labels")= Named num 0 1 2 3 4 5 6 7 8 9 ...
## .. ..- attr(*, "names")= chr "Ninguno" "Preescolar" "Primaria" "Secundaria" ...
## $ cs_p13_2 : 'labelled' num 3 2 2 6 4 4 3 3 6 4 ...
## ..- attr(*, "label")= chr "Pregunta 13 ¿Hasta que año aprobó … en la escuela"
## ..- attr(*, "format.stata")= chr "%12.0g"
## ..- attr(*, "labels")= Named num 0 1 2 3 4 5 6 7 8 9
## .. ..- attr(*, "names")= chr "Ningún año" "Un año" "Dos años" "Tres años" ...
## $ cs_p14_c : chr "" "7713" "" "" ...
## ..- attr(*, "label")= chr "Clave de la carrera"
## ..- attr(*, "format.stata")= chr "%4s"
## $ cs_p15 : 'labelled' num NA NA NA NA 3 3 NA NA NA 3 ...
## ..- attr(*, "label")= chr "Pregunta 15 ¿Qué estudios le pidieron a … para ingresar a esta carrera?"
## ..- attr(*, "format.stata")= chr "%12.0g"
## ..- attr(*, "labels")= Named num 0 1 2 3 9
## .. ..- attr(*, "names")= chr "Ninguna Carrera" "Primaria" "Secundaria" "Preparatoria" ...
## $ cs_p16 : 'labelled' num NA 1 NA NA 1 1 NA NA NA 1 ...
## ..- attr(*, "label")= chr "¿ … Terminó los estudios o materias de esta carrera?"
## ..- attr(*, "format.stata")= chr "%12.0g"
## ..- attr(*, "labels")= Named num 0 1 2 9
## .. ..- attr(*, "names")= chr "No tiene maestría o doctorado" "Si terminó" "No terminó" "No sabe"
## $ cs_p17 : 'labelled' num 2 2 1 1 2 2 2 2 1 2 ...
## ..- attr(*, "label")= chr "¿ … Asiste actualmente a la escuela?"
## ..- attr(*, "format.stata")= chr "%12.0g"
## ..- attr(*, "labels")= Named num 0 1 2 9
## .. ..- attr(*, "names")= chr "Menor de cinco años" "Si asiste a la escuela" "No asiste a la escuela" "No sabe"
## $ n_hij : 'labelled' num NA 2 0 0 NA 0 NA 1 0 NA ...
## ..- attr(*, "label")= chr "Número de hijos"
## ..- attr(*, "format.stata")= chr "%12.0g"
## ..- attr(*, "labels")= Named num 0 1 2 3 4 5 6 7 8 9 ...
## .. ..- attr(*, "names")= chr "Es menor o es hombre o es mujer sin hijos" "Un hijo" "Dos hijos" "Tres hijos" ...
## $ e_con : 'labelled' num 5 5 6 6 5 5 1 1 6 1 ...
## ..- attr(*, "label")= chr "Estado conyugal"
## ..- attr(*, "format.stata")= chr "%12.0g"
## ..- attr(*, "labels")= Named num 0 1 2 3 4 5 6 9
## .. ..- attr(*, "names")= chr "Menor de doce años" "Unión libre" "Separado(a)" "Divorciado(a)" ...
## $ cs_ad_mot : 'labelled' num NA NA NA NA NA NA NA NA NA NA ...
## ..- attr(*, "label")= chr "Motivos de la ausencia"
## ..- attr(*, "format.stata")= chr "%12.0g"
## ..- attr(*, "labels")= Named num 0 1 2 3 4 5 6 7 8 9 ...
## .. ..- attr(*, "names")= chr "No es ausente definitivo" "Trabajo" "Estudio" "Se casó o unió" ...
## $ cs_p20_des: chr "" "" "" "" ...
## ..- attr(*, "label")= chr "Especificación de otro motivo"
## ..- attr(*, "format.stata")= chr "%50s"
## $ cs_ad_des : 'labelled' num NA NA NA NA NA NA NA NA NA NA ...
## ..- attr(*, "label")= chr "¿ A qué estado de la república o país se fue … ?"
## ..- attr(*, "format.stata")= chr "%12.0g"
## ..- attr(*, "labels")= Named num 0 1 2 3 4
## .. ..- attr(*, "names")= chr "No aplica" "Mismo estado" "Otro estado" "Otro país" ...
## $ cs_nr_mot : 'labelled' num NA NA NA NA NA NA NA NA NA NA ...
## ..- attr(*, "label")= chr "¿Cuál es el motivo principal por el que llegó … ?"
## ..- attr(*, "format.stata")= chr "%12.0g"
## ..- attr(*, "labels")= Named num 0 1 2 3 4 5 6 7 8 9 ...
## .. ..- attr(*, "names")= chr "No es nuevo residente" "Trabajo" "Estudio" "Se casó o unió" ...
## $ cs_p22_des: chr "" "" "" "" ...
## ..- attr(*, "label")= chr "Especificación de otro motivo"
## ..- attr(*, "format.stata")= chr "%50s"
## $ cs_nr_ori : 'labelled' num NA NA NA NA NA NA NA NA NA NA ...
## ..- attr(*, "label")= chr "¿De qué estado de la República Mexicana o país vino …?"
## ..- attr(*, "format.stata")= chr "%12.0g"
## ..- attr(*, "labels")= Named num 0 1 2 3 9
## .. ..- attr(*, "names")= chr "No aplica" "Mismo estado" "Otro estado" "Otro país" ...
## $ ur : 'labelled' num 1 1 1 1 1 1 1 1 1 1 ...
## ..- attr(*, "label")= chr "Urbano/Rural"
## ..- attr(*, "format.stata")= chr "%12.0g"
## ..- attr(*, "labels")= Named num 1 2
## .. ..- attr(*, "names")= chr "Urbano" "Rural"
## $ zona : 'labelled' num 1 1 1 1 1 1 1 1 1 1 ...
## ..- attr(*, "label")= chr "Zona salarial"
## ..- attr(*, "format.stata")= chr "%12.0g"
## ..- attr(*, "labels")= Named num 1 2
## .. ..- attr(*, "names")= chr "Zona \"A\"" "Zona B"
## $ salario : num 2651 2651 2651 2651 2651 ...
## ..- attr(*, "label")= chr "Salario mínimo mensual"
## ..- attr(*, "format.stata")= chr "%12.0g"
## $ fac : num 482 482 482 482 482 482 482 482 482 482 ...
## ..- attr(*, "label")= chr "Factor de expansión"
## ..- attr(*, "format.stata")= chr "%12.0g"
## $ clase1 : 'labelled' num 1 1 2 2 1 1 1 2 2 1 ...
## ..- attr(*, "label")= chr "Clasificación de la población en PEA y PNEA"
## ..- attr(*, "format.stata")= chr "%12.0g"
## ..- attr(*, "labels")= Named num 0 1 2
## .. ..- attr(*, "names")= chr "No aplica" "Población económicamente activa" "Población no económicamente activa"
## $ clase2 : 'labelled' num 1 1 4 4 1 1 1 4 4 1 ...
## ..- attr(*, "label")= chr "Clasificación de la población en ocupada y desocupada; disponible y no"
## ..- attr(*, "format.stata")= chr "%12.0g"
## ..- attr(*, "labels")= Named num 0 1 2 3 4
## .. ..- attr(*, "names")= chr "No aplica" "Población ocupada" "Población desocupada" "Disponibles" ...
## $ clase3 : 'labelled' num 1 1 0 0 1 3 1 0 0 1 ...
## ..- attr(*, "label")= chr "Clasificación de la población en ocupada plena, sin pago, ausente con nexo labor"
## ..- attr(*, "format.stata")= chr "%12.0g"
## ..- attr(*, "labels")= Named num 0 1 2 3 4 5 6 7
## .. ..- attr(*, "names")= chr "No aplica" "Ocupado pleno" "Ocupado Sin Pago" "Ocupado ausente con nexo laboral" ...
## $ pos_ocu : 'labelled' num 1 1 0 0 1 1 3 0 0 1 ...
## ..- attr(*, "label")= chr "Clasificación de la población ocupada por posición en la ocupación"
## ..- attr(*, "format.stata")= chr "%12.0g"
## ..- attr(*, "labels")= Named num 0 1 2 3 4 5
## .. ..- attr(*, "names")= chr "No aplica" "Trabajadores subordinados y remunerados" "Empleadores" "Trabajadores por cuenta propia" ...
## $ seg_soc : 'labelled' num 1 2 0 0 1 1 2 0 0 1 ...
## ..- attr(*, "label")= chr "Clasificación de la población ocupada por condición de acceso a instituciones de"
## ..- attr(*, "format.stata")= chr "%12.0g"
## ..- attr(*, "labels")= Named num 0 1 2 3
## .. ..- attr(*, "names")= chr "No aplica" "Con acceso" "Sin acceso" "No especificado"
## $ rama : 'labelled' num 2 4 0 0 4 4 3 0 0 4 ...
## ..- attr(*, "label")= chr "Clasificación de la población ocupada por sector de actividad económica"
## ..- attr(*, "format.stata")= chr "%12.0g"
## ..- attr(*, "labels")= Named num 0 1 2 3 4 5 6 7
## .. ..- attr(*, "names")= chr "No aplica" "Construcción" "Industria manufacturera" "Comercio" ...
## $ c_ocu11c : 'labelled' num 7 1 0 0 1 2 6 0 0 6 ...
## ..- attr(*, "label")= chr "Clasificación de la población ocupada por condición de ocupación"
## ..- attr(*, "format.stata")= chr "%12.0g"
## ..- attr(*, "labels")= Named num 0 1 2 3 4 5 6 7 8 9 ...
## .. ..- attr(*, "names")= chr "No aplica" "Profesionales, técnicos y trabajadores del arte" "Trabajadores de la educación" "Funcionarios y directivos" ...
## $ ing7c : 'labelled' num 1 1 0 0 2 2 1 0 0 3 ...
## ..- attr(*, "label")= chr "Clasificación de la población ocupada por nivel de ingreso"
## ..- attr(*, "format.stata")= chr "%12.0g"
## ..- attr(*, "labels")= Named num 0 1 2 3 4 5 6 7
## .. ..- attr(*, "names")= chr "No aplica" "Hasta un salario mínimo" "Más de 1 hasta 2 salarios mínimos" "Más de 2 hasta 3 salarios mínimos" ...
## $ dur9c : 'labelled' num 3 2 0 0 3 1 4 0 0 4 ...
## ..- attr(*, "label")= chr "Clasificación de la población ocupada por la duración de la jornada"
## ..- attr(*, "format.stata")= chr "%12.0g"
## ..- attr(*, "labels")= Named num 0 1 2 3 4 5 6 7 8 9
## .. ..- attr(*, "names")= chr "No aplica" "Ausentes temporales con vínculo laboral" "Menos de 15 horas" "De 15 a 24 horas" ...
## $ emple7c : 'labelled' num 6 5 0 0 6 6 1 0 0 6 ...
## ..- attr(*, "label")= chr "Clasificación de la población ocupada por número de trabajadores"
## ..- attr(*, "format.stata")= chr "%12.0g"
## ..- attr(*, "labels")= Named num 0 1 2 3 4 5 6 7
## .. ..- attr(*, "names")= chr "No aplica" "persona" "De 2 a 5 personas" "De 6 a 10 personas" ...
## $ medica5c : 'labelled' num 3 1 0 0 3 3 1 0 0 3 ...
## ..- attr(*, "label")= chr "Clasificación de la población ocupada por prestaciones de salud"
## ..- attr(*, "format.stata")= chr "%12.0g"
## ..- attr(*, "labels")= Named num 0 1 2 3 4 5
## .. ..- attr(*, "names")= chr "No aplica" "Sin prestaciones" "Solo acceso a instituciones de salud" "Acceso de instituciones de salud y otras prestaciones" ...
## $ buscar5c : 'labelled' num 4 4 0 0 4 4 4 0 0 4 ...
## ..- attr(*, "label")= chr "Clasificación de la población ocupada por búsqueda de otro empleo"
## ..- attr(*, "format.stata")= chr "%12.0g"
## ..- attr(*, "labels")= Named num 0 1 2 3 4 5
## .. ..- attr(*, "names")= chr "No aplica" "Para tener otro empleo" "Para cambiarse de trabajo" "Otro" ...
## $ rama_est1 : 'labelled' num 2 3 0 0 3 3 3 0 0 3 ...
## ..- attr(*, "label")= chr "Clasificación de la población ocupada según sector de actividad-Totales"
## ..- attr(*, "format.stata")= chr "%12.0g"
## ..- attr(*, "labels")= Named num 0 1 2 3 4
## .. ..- attr(*, "names")= chr "No aplica" "Primario" "Secundario" "Terciario" ...
## $ rama_est2 : 'labelled' num 3 9 0 0 8 9 5 0 0 7 ...
## ..- attr(*, "label")= chr "Clasificación de la población según sector de actividad-Subtotales"
## ..- attr(*, "format.stata")= chr "%12.0g"
## ..- attr(*, "labels")= Named num 0 1 2 3 4 5 6 7 8 9 ...
## .. ..- attr(*, "names")= chr "No aplica" "Agricultura, ganadería, silvicultura, caza y pesca" "Industria extractiva y de la electricidad" "Industria manufacturera" ...
## $ dur_est : 'labelled' num 3 2 0 0 3 1 3 0 0 3 ...
## ..- attr(*, "label")= chr "Clasificación de la población ocupada por duración de la jornada laboral"
## ..- attr(*, "format.stata")= chr "%12.0g"
## ..- attr(*, "labels")= Named num 0 1 2 3 4 5 6
## .. ..- attr(*, "names")= chr "No aplica" "Ausentes temporales con vínculo laboral" "Menos de 15 horas" "De 15 a 34 horas" ...
## $ ambito1 : 'labelled' num 2 2 0 0 2 2 2 0 0 2 ...
## ..- attr(*, "label")= chr "Clasificación de la población ocupada según el tamaño de la unidad económica-Tot"
## ..- attr(*, "format.stata")= chr "%12.0g"
## ..- attr(*, "labels")= Named num 0 1 2 3
## .. ..- attr(*, "names")= chr "No aplica" "Ámbito agropecuario" "Ámbito no agropecuario" "No especificado"
## $ ambito2 : 'labelled' num 6 4 0 0 5 5 2 0 0 5 ...
## ..- attr(*, "label")= chr "Clasificación de la población ocupada por tamaño de la unidad económica-Subtota"
## ..- attr(*, "format.stata")= chr "%12.0g"
## ..- attr(*, "labels")= Named num 0 1 2 3 4 5 6 7 8
## .. ..- attr(*, "names")= chr "No aplica" "Micronegocios (Calculado se suma código 2 y 3)" "Sin establecimiento" "Con establecimiento" ...
## $ tue1 : 'labelled' num 1 1 0 0 1 2 3 0 0 1 ...
## ..- attr(*, "label")= chr "Clasificación de la población ocupada por tipo de unidad económica-Totales"
## ..- attr(*, "format.stata")= chr "%12.0g"
## ..- attr(*, "labels")= Named num 0 1 2 3 4
## .. ..- attr(*, "names")= chr "No aplica" "Empresas y negocios" "Instituciones" "Sector de los hogares" ...
## $ tue2 : 'labelled' num 1 1 0 0 1 3 5 0 0 1 ...
## ..- attr(*, "label")= chr "Clasificación de la población ocupada por tipo de unidad económica-Subtotales"
## ..- attr(*, "format.stata")= chr "%12.0g"
## ..- attr(*, "labels")= Named num 0 1 2 3 4 5 6 7
## .. ..- attr(*, "names")= chr "No aplica" "Empresas constituidas en sociedad y corporativas" "Negocios no constituidos en sociedad" "Privadas" ...
## $ tue3 : 'labelled' num 0 0 0 0 0 0 0 0 0 0 ...
## ..- attr(*, "label")= chr "Clasificación de la población ocupada por Tipo de unidad económica-Subtotales"
## ..- attr(*, "format.stata")= chr "%12.0g"
## ..- attr(*, "labels")= Named num 0 1 2
## .. ..- attr(*, "names")= chr "No aplica" "Administrador por los gobiernos" "No administradas por los gobiernos"
## $ busqueda : 'labelled' num 2 2 0 0 2 2 2 0 0 2 ...
## ..- attr(*, "label")= chr "Clasificación de la población ocupada buscador de otro Trabajo"
## ..- attr(*, "format.stata")= chr "%12.0g"
## ..- attr(*, "labels")= Named num 0 1 2
## .. ..- attr(*, "names")= chr "No aplica" "Si buscó un trabajo adicional" "No buscó un trabajo adicional"
## $ d_ant_lab : 'labelled' num 0 0 0 0 0 0 0 0 0 0 ...
## ..- attr(*, "label")= chr "Clasificación de la población desocupada por antecedentes laborales"
## ..- attr(*, "format.stata")= chr "%12.0g"
## ..- attr(*, "labels")= Named num 0 1 2
## .. ..- attr(*, "names")= chr "No aplica" "Con experiencia" "Sin experiencia"
## $ d_cexp_est: 'labelled' num 0 0 0 0 0 0 0 0 0 0 ...
## ..- attr(*, "label")= chr "Clasificación de la población desocupada por condición de desocupación"
## ..- attr(*, "format.stata")= chr "%12.0g"
## ..- attr(*, "labels")= Named num 0 1 2 3 4
## .. ..- attr(*, "names")= chr "No aplica" "Perdió o termino su empleo anterior" "Insatisfacción con el empleo anterior" "Dejó o cerró un negocio propio" ...
## $ dur_des : 'labelled' num 0 0 0 0 0 0 0 0 0 0 ...
## ..- attr(*, "label")= chr "Clasificación de la duración del desempleo"
## ..- attr(*, "format.stata")= chr "%12.0g"
## ..- attr(*, "labels")= Named num 0 1 2 3 4 5 6
## .. ..- attr(*, "names")= chr "No aplica" "Hasta 1 mes" "Más de 1 mes hasta 3 meses" "Más de 3 mes hasta 6 meses" ...
## $ sub_o : 'labelled' num 0 0 0 0 0 0 0 0 0 0 ...
## ..- attr(*, "label")= chr "Población subocupada"
## ..- attr(*, "format.stata")= chr "%12.0g"
## ..- attr(*, "labels")= Named num 0 1
## .. ..- attr(*, "names")= chr "No es subocupado" "Si es subocupado"
## $ s_clasifi : 'labelled' num 0 0 0 0 0 0 0 0 0 0 ...
## ..- attr(*, "label")= chr "Clasificación de la población subocupada"
## ..- attr(*, "format.stata")= chr "%12.0g"
## ..- attr(*, "labels")= Named num 0 1 2 3 4 5 6
## .. ..- attr(*, "names")= chr "No aplica" "Pers. c/ nexo labo. p/ afec. p/ paro técnico" "Pers. afecta. p/ una caida en el ritmo de su activi." "Pers. q/laboran - de 35 h p/ razones de mercado" ...
## $ remune2c : 'labelled' num 1 2 0 0 1 1 0 0 0 1 ...
## ..- attr(*, "label")= chr "Población subordinada y remunerada"
## ..- attr(*, "format.stata")= chr "%12.0g"
## ..- attr(*, "labels")= Named num 0 1 2
## .. ..- attr(*, "names")= chr "No aplica" "Subordinados remunerados-asalariados" "Subordinados y remunerados-con percepciones no salariales"
## $ pre_asa : 'labelled' num 1 2 0 0 1 1 0 0 0 1 ...
## ..- attr(*, "label")= chr "Población subordinada y remunerada por prestaciones laborales (sin considerar el"
## ..- attr(*, "format.stata")= chr "%12.0g"
## ..- attr(*, "labels")= Named num 0 1 2 3
## .. ..- attr(*, "names")= chr "No aplica" "Con prestaciones" "Sin prestaciones" "No especificado"
## $ tip_con : 'labelled' num 3 5 0 0 3 5 0 0 0 3 ...
## ..- attr(*, "label")= chr "Clasificación de la población subordinada y remunerada por disponibilidad de con"
## ..- attr(*, "format.stata")= chr "%12.0g"
## ..- attr(*, "labels")= Named num 0 1 2 3 4 5 6
## .. ..- attr(*, "names")= chr "No aplica" "Con contrato escrito" "Temporal" "De base, planta o por tiempo indefinido" ...
## $ dispo : 'labelled' num 0 0 0 0 0 0 0 0 0 0 ...
## ..- attr(*, "label")= chr "Población no económicamente activa disponible"
## ..- attr(*, "format.stata")= chr "%12.0g"
## ..- attr(*, "labels")= Named num 0 1 2 3 4 5 6 7
## .. ..- attr(*, "names")= chr "No aplica" "Primer opción" "Segunda opción" "Tercera opción" ...
## $ nodispo : 'labelled' num 0 0 3 3 0 0 0 3 3 0 ...
## ..- attr(*, "label")= chr "Población no económicamente activa no disponible"
## ..- attr(*, "format.stata")= chr "%12.0g"
## ..- attr(*, "labels")= Named num 0 1 2 3 4 5 6 7 8 9
## .. ..- attr(*, "names")= chr "No aplica" "Primera opción" "Segunda opción" "Tercera opción" ...
## $ c_inac5c : 'labelled' num 0 0 1 1 0 0 0 2 1 0 ...
## ..- attr(*, "label")= chr "Clasificación de la población no económicamente activa no disponible por condici"
## ..- attr(*, "format.stata")= chr "%12.0g"
## ..- attr(*, "labels")= Named num 0 1 2 3 4 5
## .. ..- attr(*, "names")= chr "No aplica" "Estudiantes" "Quehaceres domésticos" "Pensiones y jubilados" ...
## $ pnea_est : 'labelled' num 0 0 4 4 0 0 0 4 4 0 ...
## ..- attr(*, "label")= chr "Composición de la población no económicamente activa"
## ..- attr(*, "format.stata")= chr "%12.0g"
## ..- attr(*, "labels")= Named num 0 1 2 3 4 5 6
## .. ..- attr(*, "names")= chr "No aplica" "Disponible para trabajar que han desistido de buscar empleo" "Disponibles para trabajar que no buscan empleo por considerar que no tienen pos" "Con interés para trabajar pero bajo un contexto que les impide hacerlo" ...
## $ niv_ins : 'labelled' num 4 4 2 2 4 4 4 3 2 4 ...
## ..- attr(*, "label")= chr "Clasificación de la población ocupada por nivel de instrucción"
## ..- attr(*, "format.stata")= chr "%12.0g"
## ..- attr(*, "labels")= Named num 0 1 2 3 4 5
## .. ..- attr(*, "names")= chr "No aplica" "Primaria incompleta" "Prrimaria completa" "Secundaria completa" ...
## $ eda5c : 'labelled' num 3 3 0 0 2 2 2 2 0 2 ...
## ..- attr(*, "label")= chr "Clasificación de la población de 14 años y más: Grupo edad 5 claves"
## ..- attr(*, "format.stata")= chr "%12.0g"
## ..- attr(*, "labels")= Named num 0 1 2 3 4 5
## .. ..- attr(*, "names")= chr "No aplica" "14 a 24 años" "25 a 44 años" "45 a 64 años" ...
## $ eda7c : 'labelled' num 5 4 0 0 3 2 3 3 0 3 ...
## ..- attr(*, "label")= chr "Clasificación de la población de 14 años y más: Grupo edad 7 claves"
## ..- attr(*, "format.stata")= chr "%12.0g"
## ..- attr(*, "labels")= Named num 0 1 2 3 4 5 6 7
## .. ..- attr(*, "names")= chr "No aplica" "De 14 a 19 años" "De 20 a 29 años" "De 30 a 39 años" ...
## $ eda12c : 'labelled' num 8 7 0 0 4 3 5 4 0 5 ...
## ..- attr(*, "label")= chr "Clasificación de la población de 12 años y más: Grupo edad 12 claves"
## ..- attr(*, "format.stata")= chr "%12.0g"
## ..- attr(*, "labels")= Named num 0 1 2 3 4 5 6 7 8 9 ...
## .. ..- attr(*, "names")= chr "No aplica" "De 14 a 19 años" "De 20 a 24 años" "De 25 a 29 años" ...
## $ eda19c : 'labelled' num 13 12 5 5 9 8 10 9 5 10 ...
## ..- attr(*, "label")= chr "Clasificación de la población total en grupos de edad"
## ..- attr(*, "format.stata")= chr "%12.0g"
## ..- attr(*, "labels")= Named num 0 1 2 3 4 5 6 7 8 9 ...
## .. ..- attr(*, "names")= chr "No aplica" "Menores de 1 año" "De 1 a 4 años" "De 5 a 9 años" ...
## $ hij5c : 'labelled' num 0 2 1 1 0 1 0 2 1 0 ...
## ..- attr(*, "label")= chr "Clasificación de la población femenina de 14 años y más por número de hijos"
## ..- attr(*, "format.stata")= chr "%12.0g"
## ..- attr(*, "labels")= Named num 0 1 2 3 4 5
## .. ..- attr(*, "names")= chr "No aplica" "Sin hijos" "De 1 a 2 hijos" "De 3 a 5 hijos" ...
## $ domestico : 'labelled' num 3 3 8 8 3 3 1 8 8 3 ...
## ..- attr(*, "label")= chr "Clasificación de la población de 14 años y más por condición de actividad e inac"
## ..- attr(*, "format.stata")= chr "%12.0g"
## ..- attr(*, "labels")= Named num 0 1 2 3 4 5 6 7 8 9 ...
## .. ..- attr(*, "names")= chr "No aplica" "Solo PEA" "PEA y estudian" "PEA y quehaceres domésticos" ...
## $ anios_esc : num 12 18 8 6 16 16 12 9 6 16 ...
## ..- attr(*, "label")= chr "Años de escolaridad"
## ..- attr(*, "format.stata")= chr "%12.0g"
## $ hrsocup : num 24 10 0 0 24 0 30 0 0 33 ...
## ..- attr(*, "label")= chr "Horas trabajadas a la semana"
## ..- attr(*, "format.stata")= chr "%12.0g"
## $ ingocup : num 1000 800 0 0 3000 5000 2000 0 0 6000 ...
## ..- attr(*, "label")= chr "Ingreso mensual"
## ..- attr(*, "format.stata")= chr "%12.0g"
## $ ing_x_hrs : num 9.69 18.6 0 0 29.07 ...
## ..- attr(*, "label")= chr "Promedio de ingreso por hora trabajada"
## ..- attr(*, "format.stata")= chr "%12.0g"
## $ tpg_p8a : 'labelled' num 0 0 0 0 0 0 0 0 0 0 ...
## ..- attr(*, "label")= chr "Sí busco trabajo"
## ..- attr(*, "format.stata")= chr "%12.0g"
## ..- attr(*, "labels")= Named num 0 1
## .. ..- attr(*, "names")= chr "No aplica" "Sí buscó trajao (Para cálculo de las tasas)"
## $ tcco : 'labelled' num 0 0 0 0 0 0 0 0 0 0 ...
## ..- attr(*, "label")= chr "Clasificación de la población en ocupados que trabajan menos de 35 hrs., más de "
## ..- attr(*, "format.stata")= chr "%12.0g"
## ..- attr(*, "labels")= Named num 0 1 2 3
## .. ..- attr(*, "names")= chr "No aplica" "OH35RM (Ocupados que trabajan menos de 35 hrs por razones de mercado)" "OH35SM (Ocupados que trabajan de 35 hrs ó más y ganan hasta 1 salario mínim" "OH48SM (Ocupados que trabajan mas de 48 horas con ingresos de más de 1 hasta 2"
## $ cp_anoc : 'labelled' num 0 0 0 0 0 0 1 0 0 0 ...
## ..- attr(*, "label")= chr "Clasificación de la población cuenta propia en actividades no calificadas"
## ..- attr(*, "format.stata")= chr "%12.0g"
## ..- attr(*, "labels")= Named num 0 1
## .. ..- attr(*, "names")= chr "No aplica" "Cuenta propia en actividades no calificadas (Para promedio y medianas)"
## $ imssissste: 'labelled' num 1 4 0 0 1 1 4 0 0 1 ...
## ..- attr(*, "label")= chr "Instituciones de atención médica"
## ..- attr(*, "format.stata")= chr "%12.0g"
## ..- attr(*, "labels")= Named num 0 1 2 3 4 5
## .. ..- attr(*, "names")= chr "No aplica" "Imss" "Issste" "Otras instituciones" ...
## $ ma48me1sm : 'labelled' num 0 0 0 0 0 0 0 0 0 0 ...
## ..- attr(*, "label")= chr "Población ocupada que trabaja más de 48 horas y gana menos de 1 salario mínimo"
## ..- attr(*, "format.stata")= chr "%12.0g"
## ..- attr(*, "labels")= Named num 0 1
## .. ..- attr(*, "names")= chr "No aplica" "Sí trabaja más de 48 horas y gana menos de 1 salario mínimo (para la TIID)"
## $ p14apoyos : 'labelled' num 0 0 0 0 0 0 0 0 0 0 ...
## ..- attr(*, "label")= chr "Clasificación de la población por apoyos económicos"
## ..- attr(*, "format.stata")= chr "%12.0g"
## ..- attr(*, "labels")= Named num 0 1 2 3
## .. ..- attr(*, "names")= chr "No aplica" "Sí recibe apoyos económicos" "No recibe apoyos económicos" "No especificado"
## $ scian : 'labelled' num 5 16 0 0 12 15 7 0 0 9 ...
## ..- attr(*, "label")= chr "Clasificación de actividades económicas con base al sistema de clasificación Ind"
## ..- attr(*, "format.stata")= chr "%12.0g"
## ..- attr(*, "labels")= Named num 0 1 2 3 4 5 6 7 8 9 ...
## .. ..- attr(*, "names")= chr "No aplica" "Agricultura, ganadería, aprovechamiento forestal, pesca y caza" "Minería" "Generación y distribución de electricidad, suministro de agua y gas" ...
## $ t_tra : 'labelled' num 1 1 1 1 1 1 1 1 1 1 ...
## ..- attr(*, "label")= chr "Total de trabajos"
## ..- attr(*, "format.stata")= chr "%12.0g"
## ..- attr(*, "labels")= Named num 0 1 2
## .. ..- attr(*, "names")= chr "No aplica" "Un solo trabajo" "Dos trabajos"
## $ emp_ppal : 'labelled' num 2 1 0 0 2 2 1 0 0 2 ...
## ..- attr(*, "label")= chr "Clasificación de empleos formales e informales de la primera actividad"
## ..- attr(*, "format.stata")= chr "%12.0g"
## ..- attr(*, "labels")= Named num 0 1 2
## .. ..- attr(*, "names")= chr "No aplica" "Empleo informal" "Empleo formal"
## [list output truncated]
Otro comando que hace algo similar, en el universo tidy, tydiverse https://www.tidyverse.org/, con la librería dplyr y el comando glimpse
install.packages("tidyverse", repos = "http://cran.us.r-project.org", dependencies = TRUE)
##
## The downloaded binary packages are in
## /var/folders/fr/mw1x21js54367mjdhqsjfwqm0000gn/T//RtmpuixgVs/downloaded_packages
library(dplyr)
##
## 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
glimpse(enoe_sdemt218)
## Observations: 392,257
## Variables: 104
## $ r_def <dbl+lbl> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,...
## $ loc <dbl> 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, ...
## $ mun <dbl> 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 10, 10, 10, ...
## $ est <dbl> 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10,...
## $ est_d <dbl> 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 1...
## $ ageb <dbl> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ...
## $ t_loc <dbl+lbl> 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,...
## $ cd_a <dbl+lbl> 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,...
## $ ent <dbl+lbl> 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,...
## $ con <dbl> 40001, 40001, 40001, 40001, 40001, 40001, 40001, 40...
## $ upm <dbl> 900471, 900471, 900471, 900471, 900471, 900471, 900...
## $ d_sem <dbl+lbl> 101, 101, 101, 101, 101, 101, 101, 101, 101, 10...
## $ n_pro_viv <dbl> 9, 9, 9, 9, 34, 34, 65, 65, 65, 90, 90, 90, 90, 12,...
## $ v_sel <dbl+lbl> 1, 1, 1, 1, 2, 2, 3, 3, 3, 4, 4, 4, 4, 1, 1, 3,...
## $ n_hog <dbl+lbl> 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,...
## $ h_mud <dbl+lbl> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,...
## $ n_ent <dbl+lbl> 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,...
## $ per <dbl+lbl> 218, 218, 218, 218, 218, 218, 218, 218, 218, 21...
## $ n_ren <dbl+lbl> 1, 2, 3, 4, 1, 2, 1, 2, 3, 1, 2, 3, 4, 1, 2, 1,...
## $ c_res <dbl+lbl> 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,...
## $ par_c <dbl> 101, 201, 301, 301, 101, 201, 101, 201, 301, 101, 2...
## $ sex <dbl+lbl> 1, 2, 2, 2, 1, 2, 1, 2, 2, 1, 2, 2, 2, 1, 2, 2,...
## $ eda <dbl> 50, 47, 14, 12, 30, 29, 36, 31, 12, 35, 32, 11, 2, ...
## $ nac_dia <dbl+lbl> 28, 4, 22, 9, 18, 7, 17, 7, 12, 30, 25, 3, 1, 3...
## $ nac_mes <dbl+lbl> 6, 7, 4, 6, 4, 1, 9, 11, 10, 6, 12, 6, 4, 12, 8...
## $ nac_anio <dbl> 1967, 1970, 2003, 2005, 1987, 1989, 1981, 1986, 200...
## $ l_nac_c <dbl+lbl> 9, 9, 9, 9, 9, 9, 9, 9, 15, 9, 9, 9, 9, 9, 9, 9...
## $ cs_p12 <dbl+lbl> 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, NA, 1, 1, 1...
## $ cs_p13_1 <dbl+lbl> 4, 8, 3, 2, 7, 7, 4, 3, 2, 7, 7, 2, NA, 4, 3, 7...
## $ cs_p13_2 <dbl+lbl> 3, 2, 2, 6, 4, 4, 3, 3, 6, 4, 4, 5, NA, 3, 3, 4...
## $ cs_p14_c <chr> "", "7713", "", "", "5332", "5222", "", "", "", "53...
## $ cs_p15 <dbl+lbl> NA, NA, NA, NA, 3, 3, NA, NA, NA, 3, 3, NA, NA,...
## $ cs_p16 <dbl+lbl> NA, 1, NA, NA, 1, 1, NA, NA, NA, 1, 1, NA, NA, ...
## $ cs_p17 <dbl+lbl> 2, 2, 1, 1, 2, 2, 2, 2, 1, 2, 2, 1, NA, 2, 2, 2...
## $ n_hij <dbl+lbl> NA, 2, 0, 0, NA, 0, NA, 1, 0, NA, 2, NA, NA, NA...
## $ e_con <dbl+lbl> 5, 5, 6, 6, 5, 5, 1, 1, 6, 1, 1, NA, NA, 5, 5, ...
## $ cs_ad_mot <dbl+lbl> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA,...
## $ cs_p20_des <chr> "", "", "", "", "", "", "", "", "", "", "", "", "",...
## $ cs_ad_des <dbl+lbl> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA,...
## $ cs_nr_mot <dbl+lbl> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA,...
## $ cs_p22_des <chr> "", "", "", "", "", "", "", "", "", "", "", "", "",...
## $ cs_nr_ori <dbl+lbl> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA,...
## $ ur <dbl+lbl> 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,...
## $ zona <dbl+lbl> 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,...
## $ salario <dbl> 2651, 2651, 2651, 2651, 2651, 2651, 2651, 2651, 265...
## $ fac <dbl> 482, 482, 482, 482, 482, 482, 482, 482, 482, 482, 4...
## $ clase1 <dbl+lbl> 1, 1, 2, 2, 1, 1, 1, 2, 2, 1, 2, 0, 0, 2, 2, 1,...
## $ clase2 <dbl+lbl> 1, 1, 4, 4, 1, 1, 1, 4, 4, 1, 4, 0, 0, 4, 4, 1,...
## $ clase3 <dbl+lbl> 1, 1, 0, 0, 1, 3, 1, 0, 0, 1, 0, 0, 0, 0, 0, 1,...
## $ pos_ocu <dbl+lbl> 1, 1, 0, 0, 1, 1, 3, 0, 0, 1, 0, 0, 0, 0, 0, 3,...
## $ seg_soc <dbl+lbl> 1, 2, 0, 0, 1, 1, 2, 0, 0, 1, 0, 0, 0, 0, 0, 2,...
## $ rama <dbl+lbl> 2, 4, 0, 0, 4, 4, 3, 0, 0, 4, 0, 0, 0, 0, 0, 4,...
## $ c_ocu11c <dbl+lbl> 7, 1, 0, 0, 1, 2, 6, 0, 0, 6, 0, 0, 0, 0, 0, 1,...
## $ ing7c <dbl+lbl> 1, 1, 0, 0, 2, 2, 1, 0, 0, 3, 0, 0, 0, 0, 0, 7,...
## $ dur9c <dbl+lbl> 3, 2, 0, 0, 3, 1, 4, 0, 0, 4, 0, 0, 0, 0, 0, 2,...
## $ emple7c <dbl+lbl> 6, 5, 0, 0, 6, 6, 1, 0, 0, 6, 0, 0, 0, 0, 0, 1,...
## $ medica5c <dbl+lbl> 3, 1, 0, 0, 3, 3, 1, 0, 0, 3, 0, 0, 0, 0, 0, 1,...
## $ buscar5c <dbl+lbl> 4, 4, 0, 0, 4, 4, 4, 0, 0, 4, 0, 0, 0, 0, 0, 4,...
## $ rama_est1 <dbl+lbl> 2, 3, 0, 0, 3, 3, 3, 0, 0, 3, 0, 0, 0, 0, 0, 3,...
## $ rama_est2 <dbl+lbl> 3, 9, 0, 0, 8, 9, 5, 0, 0, 7, 0, 0, 0, 0, 0, 8,...
## $ dur_est <dbl+lbl> 3, 2, 0, 0, 3, 1, 3, 0, 0, 3, 0, 0, 0, 0, 0, 2,...
## $ ambito1 <dbl+lbl> 2, 2, 0, 0, 2, 2, 2, 0, 0, 2, 0, 0, 0, 0, 0, 2,...
## $ ambito2 <dbl+lbl> 6, 4, 0, 0, 5, 5, 2, 0, 0, 5, 0, 0, 0, 0, 0, 2,...
## $ tue1 <dbl+lbl> 1, 1, 0, 0, 1, 2, 3, 0, 0, 1, 0, 0, 0, 0, 0, 1,...
## $ tue2 <dbl+lbl> 1, 1, 0, 0, 1, 3, 5, 0, 0, 1, 0, 0, 0, 0, 0, 2,...
## $ tue3 <dbl+lbl> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,...
## $ busqueda <dbl+lbl> 2, 2, 0, 0, 2, 2, 2, 0, 0, 2, 0, 0, 0, 0, 0, 2,...
## $ d_ant_lab <dbl+lbl> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,...
## $ d_cexp_est <dbl+lbl> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,...
## $ dur_des <dbl+lbl> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,...
## $ sub_o <dbl+lbl> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,...
## $ s_clasifi <dbl+lbl> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2,...
## $ remune2c <dbl+lbl> 1, 2, 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0,...
## $ pre_asa <dbl+lbl> 1, 2, 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0,...
## $ tip_con <dbl+lbl> 3, 5, 0, 0, 3, 5, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0,...
## $ dispo <dbl+lbl> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,...
## $ nodispo <dbl+lbl> 0, 0, 3, 3, 0, 0, 0, 3, 3, 0, 3, 0, 0, 3, 3, 0,...
## $ c_inac5c <dbl+lbl> 0, 0, 1, 1, 0, 0, 0, 2, 1, 0, 2, 0, 0, 3, 2, 0,...
## $ pnea_est <dbl+lbl> 0, 0, 4, 4, 0, 0, 0, 4, 4, 0, 4, 0, 0, 4, 4, 0,...
## $ niv_ins <dbl+lbl> 4, 4, 2, 2, 4, 4, 4, 3, 2, 4, 4, 1, 0, 4, 3, 4,...
## $ eda5c <dbl+lbl> 3, 3, 0, 0, 2, 2, 2, 2, 0, 2, 2, 0, 0, 4, 3, 3,...
## $ eda7c <dbl+lbl> 5, 4, 0, 0, 3, 2, 3, 3, 0, 3, 3, 0, 0, 6, 6, 5,...
## $ eda12c <dbl+lbl> 8, 7, 0, 0, 4, 3, 5, 4, 0, 5, 4, 0, 0, 11, 10, ...
## $ eda19c <dbl+lbl> 13, 12, 5, 5, 9, 8, 10, 9, 5, 10, 9, 4, 2, 16, ...
## $ hij5c <dbl+lbl> 0, 2, 1, 1, 0, 1, 0, 2, 1, 0, 2, 0, 0, 0, 3, 3,...
## $ domestico <dbl+lbl> 3, 3, 8, 8, 3, 3, 1, 8, 8, 3, 8, 0, 0, 6, 8, 3,...
## $ anios_esc <dbl> 12, 18, 8, 6, 16, 16, 12, 9, 6, 16, 16, 0, 0, 12, 9...
## $ hrsocup <dbl> 24, 10, 0, 0, 24, 0, 30, 0, 0, 33, 0, 0, 0, 0, 0, 3...
## $ ingocup <dbl> 1000, 800, 0, 0, 3000, 5000, 2000, 0, 0, 6000, 0, 0...
## $ ing_x_hrs <dbl> 9.68992, 18.60465, 0.00000, 0.00000, 29.06977, 0.00...
## $ tpg_p8a <dbl+lbl> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,...
## $ tcco <dbl+lbl> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,...
## $ cp_anoc <dbl+lbl> 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,...
## $ imssissste <dbl+lbl> 1, 4, 0, 0, 1, 1, 4, 0, 0, 1, 0, 0, 0, 0, 0, 4,...
## $ ma48me1sm <dbl+lbl> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,...
## $ p14apoyos <dbl+lbl> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,...
## $ scian <dbl+lbl> 5, 16, 0, 0, 12, 15, 7, 0, 0, 9, 0, 0, 0, 0, 0,...
## $ t_tra <dbl+lbl> 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1,...
## $ emp_ppal <dbl+lbl> 2, 1, 0, 0, 2, 2, 1, 0, 0, 2, 0, 0, 0, 0, 0, 2,...
## $ tue_ppal <dbl+lbl> 2, 2, 0, 0, 2, 2, 1, 0, 0, 2, 0, 0, 0, 0, 0, 2,...
## $ trans_ppal <dbl+lbl> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,...
## $ mh_fil2 <dbl+lbl> 3, 3, 0, 0, 3, 3, 1, 0, 0, 3, 0, 0, 0, 0, 0, 3,...
## $ mh_col <dbl+lbl> 2, 3, 0, 0, 2, 2, 7, 0, 0, 2, 0, 0, 0, 0, 0, 8,...
## $ sec_ins <dbl+lbl> 2, 2, 0, 0, 2, 6, 8, 0, 0, 2, 0, 0, 0, 0, 0, 4,...
Si queremos ver los niveles de una variable, tenemos que usar el formato basedatos$var. Esto nos llevará a la variable dentro del objeto que tenemos que es una base de datos. Esto nos permite tener varias bases de datos cargadas en un mismo ambiente.
levels(enoe_sdemt218$sex)
## NULL
También podemos pedir una tabla de una variable.
table(enoe_sdemt218$sex)
##
## 1 2
## 186549 198603
table(enoe_sdemt218$eda)
##
## 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14
## 4759 5545 5816 6174 6319 6540 6617 6701 6701 6760 6868 6639 6785 6793 6820
## 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29
## 7237 6909 7298 7361 6808 6656 6356 6539 6695 6483 6217 6179 6000 5870 5440
## 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44
## 5910 5347 5275 5452 5073 5224 5278 5149 5449 5020 5747 5319 5221 5542 5041
## 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59
## 5219 4991 4664 4837 4561 5052 4541 4148 4328 4122 4093 3788 3714 3505 3282
## 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74
## 3551 3076 2869 2789 2596 2670 2406 2143 2096 1795 1905 1654 1443 1559 1338
## 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89
## 1345 1208 1052 1011 911 879 789 687 647 602 548 459 429 363 262
## 90 91 92 93 94 95 96 97 98 99
## 220 147 131 112 108 71 74 153 242 35
Para ver las dimensiones de cualquier objeto, en este caso nos dirá el número de observaciones y variables
dim(enoe_sdemt218)
## [1] 392257 104
Si queremos saber el tipo o clase de un objeto (numeric, matrix, data frame, etc)
class(enoe_sdemt218)
## [1] "tbl_df" "tbl" "data.frame"
Una hipótesis tradicional (modelo de Mincer) es que los años de escolaridad tienen que ver con los ingresos por trabajo tienen relación con la escolaridad. Antes tenemos que hacer un pequeña selección de nuestra base
filtro<-enoe_sdemt218$clase2==1 & enoe_sdemt218$anios_esc!=99 & enoe_sdemt218$ing_x_hrs>0
base<-enoe_sdemt218[filtro,]
Estadísticos básicos
summary(base$ing_x_hrs)
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 0.031 20.000 28.889 39.638 44.254 3000.000
summary(base$anios_esc)
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 0 8 9 10 12 24
Mide la fuerza de la relación lineal ¡Ojo con lineal! Vamos a graficarlo, cuando instalamos el tidyverse instalamos ggplot
library(ggplot2)
qplot(y=ing_x_hrs, x=anios_esc, data=base)
cor(base$ing_x_hrs, base$anios_esc)
## [1] 0.2690913
Regresión lineal simple
La regresión lineal nos ayuda a describir esta relación a través de una línea recta.
base$log_ing_x_hrs<-log(base$ing_x_hrs)
hist(base$log_ing_x_hrs)
!Problema, la transformación de logaritmo nos hace perder a los de ingreso cero. Decisión del investigador, sumamos algo para evitar este problema
Una vez transformada nuestra variable, corremos el modelo
cor(base$log_ing_x_hrs, base$anios_esc)
## [1] 0.3836087
modelo <-lm(log_ing_x_hrs ~ anios_esc, data=base, na.action=na.fail)
lm_coef<- modelo$coefficients
lm_coef
## (Intercept) anios_esc
## 2.74901580 0.06492063
summary(modelo) # mostrar resultados
##
## Call:
## lm(formula = log_ing_x_hrs ~ anios_esc, data = base, na.action = na.fail)
##
## Residuals:
## Min 1Q Median 3Q Max
## -6.8067 -0.3737 -0.0191 0.3711 4.3131
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 2.7490158 0.0050084 548.9 <2e-16 ***
## anios_esc 0.0649206 0.0004609 140.8 <2e-16 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 0.663 on 114964 degrees of freedom
## Multiple R-squared: 0.1472, Adjusted R-squared: 0.1471
## F-statistic: 1.984e+04 on 1 and 114964 DF, p-value: < 2.2e-16
plot(modelo)
Algunos otros indicadores de bondan de ajuste
AIC(modelo)
## [1] 231779.9
BIC(modelo)
## [1] 231808.8
Regresión lineal multivariante
Arreglamos que las variables categóricas estén declarados como factores
sex.f<-as.factor(base$sex)
rama.f<-as.factor(base$rama)
modelo2 <-lm(log_ing_x_hrs ~ anios_esc + sex.f + eda + rama.f, data=base, na.action=na.fail)
summary(modelo2) # show results
##
## Call:
## lm(formula = log_ing_x_hrs ~ anios_esc + sex.f + eda + rama.f,
## data = base, na.action = na.fail)
##
## Residuals:
## Min 1Q Median 3Q Max
## -6.4985 -0.3584 -0.0107 0.3512 4.4574
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 2.7186268 0.0097136 279.878 < 2e-16 ***
## anios_esc 0.0656949 0.0004860 135.161 < 2e-16 ***
## sex.f2 -0.0878280 0.0041017 -21.412 < 2e-16 ***
## eda 0.0063656 0.0001403 45.375 < 2e-16 ***
## rama.f2 -0.2181630 0.0076884 -28.375 < 2e-16 ***
## rama.f3 -0.3531507 0.0077353 -45.655 < 2e-16 ***
## rama.f4 -0.1031323 0.0070298 -14.671 < 2e-16 ***
## rama.f5 0.1269563 0.0208999 6.074 1.25e-09 ***
## rama.f6 -0.5076126 0.0090776 -55.919 < 2e-16 ***
## rama.f7 -0.3078258 0.0375788 -8.191 2.61e-16 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 0.6398 on 114956 degrees of freedom
## Multiple R-squared: 0.206, Adjusted R-squared: 0.2059
## F-statistic: 3313 on 9 and 114956 DF, p-value: < 2.2e-16
plot(modelo2)
Instalar paquetes útiles para diagnósticos “car” “MASS” y “gvlma”
install.packages("car", repos = "http://cran.us.r-project.org", dependencies = TRUE)
##
## The downloaded binary packages are in
## /var/folders/fr/mw1x21js54367mjdhqsjfwqm0000gn/T//RtmpuixgVs/downloaded_packages
library(carData)
library(car)
##
## Attaching package: 'car'
## The following object is masked from 'package:dplyr':
##
## recode
install.packages("MASS", repos = "http://cran.us.r-project.org", dependencies = TRUE)
##
## The downloaded binary packages are in
## /var/folders/fr/mw1x21js54367mjdhqsjfwqm0000gn/T//RtmpuixgVs/downloaded_packages
library(MASS)
##
## Attaching package: 'MASS'
## The following object is masked from 'package:dplyr':
##
## select
install.packages("gvlma", repos = "http://cran.us.r-project.org", dependencies = TRUE)
##
## The downloaded binary packages are in
## /var/folders/fr/mw1x21js54367mjdhqsjfwqm0000gn/T//RtmpuixgVs/downloaded_packages
library(gvlma)
# Assessing Outliers
outlierTest(modelo2) # Bonferonni p-value for most extreme obs
## rstudent unadjusted p-value Bonferonni p
## 114053 -10.162296 2.9910e-24 3.4386e-19
## 105977 -8.051172 8.2781e-16 9.5170e-11
## 105976 -7.307774 2.7336e-13 3.1427e-08
## 71685 -7.136216 9.6499e-13 1.1094e-07
## 44446 6.980129 2.9650e-12 3.4087e-07
## 67817 -6.761547 1.3718e-11 1.5770e-06
## 85145 -6.682500 2.3597e-11 2.7128e-06
## 36831 6.605685 3.9740e-11 4.5688e-06
## 82806 -6.495481 8.3105e-11 9.5542e-06
## 109937 -6.469529 9.8702e-11 1.1347e-05
qqPlot(modelo2, main="QQ Plot") #qq plot for studentized resid (también sirve para normalidad)
## [1] 105977 114053
# non-constant error variance test
ncvTest(modelo2)
## Non-constant Variance Score Test
## Variance formula: ~ fitted.values
## Chisquare = 179.6559, Df = 1, p = < 2.22e-16
# plot studentized residuals vs. fitted values
spreadLevelPlot(modelo2)
##
## Suggested power transformation: 0.7596449
# Evaluando colinealidad
vif(modelo2) # variance inflation factors (Factores de inflación de la varianza)
## GVIF Df GVIF^(1/(2*Df))
## anios_esc 1.194163 1 1.092778
## sex.f 1.129791 1 1.062916
## eda 1.091990 1 1.044983
## rama.f 1.257482 6 1.019276
sqrt(vif(modelo2)) > 2 # problem?
## GVIF Df GVIF^(1/(2*Df))
## anios_esc FALSE FALSE FALSE
## sex.f FALSE FALSE FALSE
## eda FALSE FALSE FALSE
## rama.f FALSE TRUE FALSE
avPlots(modelo2)
durbinWatsonTest(modelo2)
## lag Autocorrelation D-W Statistic p-value
## 1 0.1749285 1.650103 0
## Alternative hypothesis: rho != 0
gvmodel <- gvlma(modelo2)
summary(gvmodel)
##
## Call:
## lm(formula = log_ing_x_hrs ~ anios_esc + sex.f + eda + rama.f,
## data = base, na.action = na.fail)
##
## Residuals:
## Min 1Q Median 3Q Max
## -6.4985 -0.3584 -0.0107 0.3512 4.4574
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 2.7186268 0.0097136 279.878 < 2e-16 ***
## anios_esc 0.0656949 0.0004860 135.161 < 2e-16 ***
## sex.f2 -0.0878280 0.0041017 -21.412 < 2e-16 ***
## eda 0.0063656 0.0001403 45.375 < 2e-16 ***
## rama.f2 -0.2181630 0.0076884 -28.375 < 2e-16 ***
## rama.f3 -0.3531507 0.0077353 -45.655 < 2e-16 ***
## rama.f4 -0.1031323 0.0070298 -14.671 < 2e-16 ***
## rama.f5 0.1269563 0.0208999 6.074 1.25e-09 ***
## rama.f6 -0.5076126 0.0090776 -55.919 < 2e-16 ***
## rama.f7 -0.3078258 0.0375788 -8.191 2.61e-16 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 0.6398 on 114956 degrees of freedom
## Multiple R-squared: 0.206, Adjusted R-squared: 0.2059
## F-statistic: 3313 on 9 and 114956 DF, p-value: < 2.2e-16
##
##
## ASSESSMENT OF THE LINEAR MODEL ASSUMPTIONS
## USING THE GLOBAL TEST ON 4 DEGREES-OF-FREEDOM:
## Level of Significance = 0.05
##
## Call:
## gvlma(x = modelo2)
##
## Value p-value Decision
## Global Stat 37060.521 0.0000 Assumptions NOT satisfied!
## Skewness 2.495 0.1142 Assumptions acceptable.
## Kurtosis 34769.343 0.0000 Assumptions NOT satisfied!
## Link Function 1483.271 0.0000 Assumptions NOT satisfied!
## Heteroscedasticity 805.412 0.0000 Assumptions NOT satisfied!
Otros paquetes para regresión que nos ayudan a hacer una regresión robusta, revisar: “lmtest” “sandwich” “olsrr” [Tests más específicos de heterocedasticidad]
Mañana: veremos qué el supuesto de independencia no nos queda