La construcción de la variable Ingreso en la Casen 2017
Ingresos de hogares versus el de las personas
Abstract
En un artículo previo, identificamos 4 variables relevantes a utilizar en la Casen del 2017 para la generación de tablas de contingencia (ttcc) sobre las categorías de comuna, sexo, alfabetismo y etnia(inmigración), sobre las que calcularemos el promedio del ingreso que se trate, la desviación estándar de tal rango y su coeficiente de Gini. Comenzamos identificando el nombre de éstas variables en cada una de las Casen desde 1996 para poder construir las series de tiempo.
variable de ingreso | ||||
---|---|---|---|---|
Ingreso total | Ingreso autónomo | Ingreso del trabajo | Ingreso de la ocupación principal | |
año | ||||
2017 | ytotcor | yautcor | ytrabajocor | yoprcor |
2015 | ytotcor | yautcor | ytrabajocor | yoprcor |
2013 | ytotcor | yautcor | ytrabajocor | yoprcor |
2011 | ytotaj | yautaj | ytrabaj | yopraj |
2009 | ytotaj | yautaj | ytrabaj | yopraj |
2006 | ytotaj | yautaj | ytrabaj | yopraj |
Generaremos una tabla de contingencia para la casen 2017 sobre la variable ytotcor, con las categorias comuna, alfabetismo, sexo y etnia(inmigración).
Obtendremos el valor del promedio de tal ingreso para las categorías en cuestion, su desviación standard y coeficiente de Gini.
dataset_2006 <- readRDS(file = "casen_2006_c.rds")
dataset_2009 <- readRDS(file = "casen_2009_c.rds")
dataset_2011 <- readRDS(file = "casen_2011_c.rds")
dataset_2013 <- readRDS(file = "casen_2013_c.rds")
dataset_2015 <- readRDS(file = "casen_2015_c.rds")
dataset_2017 <- readRDS(file = "casen_2017_c.rds")
z<-dataset_2017$ytotcor
head(z,7)
## [1] 272000 159667 786932 301000 220000 200000 NA
z<-dataset_2015$ytotcor
head(z,7)
## [1] 700000 NA NA 250000 315199 NA 221805
z<-dataset_2013$ytotcor
head(z,7)
## [1] 82058 401250 377000 NA NA 300000 212584
z<-dataset_2011$ytotcor
head(z,7)
## NULL
z<-dataset_2009$ytotcor
head(z,7)
## NULL
z<-dataset_2006$ytotcor
head(z,7)
## NULL
# dataset <- readRDS(file = "casen_2017_c.rds")
ab_2017 <- readRDS(file = "casen_2017_c.rds")
ab_2017 <- ab_2017[!is.na(ab_2017$ytotcor),]
Q <- quantile(ab_2017$ytotcor, probs=c(.25, .75), na.rm = FALSE)
iqr <- IQR(ab_2017$ytotcor)
eliminated <- subset(ab_2017, ab_2017$ytotcor > (Q[1] - 1.5*iqr) & ab_2017$ytotcor < (Q[2]+1.5*iqr))
#eliminated
a <- eliminated$ytotcor
b <- eliminated$comuna
c <- eliminated$e1 #alfabetismo
d <- eliminated$r3 #etnia
e <- eliminated$sexo
promedios_grupales <-aggregate(a, by=list(b, c, d, e), FUN = mean , na.rm = TRUE)
head(promedios_grupales,5)
promedios_grupales_sd <-aggregate(a, by=list(b, c, d, e), FUN = sd , na.rm = TRUE)
head(promedios_grupales_sd,3)
promedios_grupales_gini <-aggregate(a, by=list(b, c, d, e), FUN = gini , na.rm = TRUE)
head(promedios_grupales_gini,3)
## Group.1 Group.2 Group.3 Group.4 gini.a
## 1 Iquique Sí, lee y escribe Aimara Hombre 0.331560
## 2 Alto Hospicio Sí, lee y escribe Aimara Hombre 0.419981
## 3 Pozo Almonte Sí, lee y escribe Aimara Hombre 0.227497
promedios_grupales$sd = promedios_grupales_sd$sd.a
promedios_grupales$gini = promedios_grupales_gini$gini.a
d<-promedios_grupales
d$Año <- "2017"
head(d,5)
names(d)[1] <- "Comuna"
names(d)[2] <- "Alfabetismo"
names(d)[3] <- "Etnia"
names(d)[4] <- "Sexo"
names(d)[5] <- "Promedio del Ingreso"
names(d)[6] <- "Desviación standard"
names(d)[7] <- "Gini"
names(d)[8] <- "Año"
head(d,3)
codigos_comunales <- readRDS(file = "codigos_comunales_2011-2017.rds")
names(codigos_comunales)[1] <- "Código"
names(codigos_comunales)[2] <- "Comuna"
# codigos_comunales
df_2017 = merge( x = d, y = codigos_comunales, by = "Comuna", all.x = TRUE)
df_2017 <-df_2017[!(df_2017$Promedio == 0),]
head(df_2017,5)
# dataset <- readRDS(file = "casen_2015_c.rds")
ab_2015 <- readRDS(file = "casen_2015_c.rds")
ab_2015 <- ab_2015[!is.na(ab_2015$ytotcor),]
Q <- quantile(ab_2015$ytotcor, probs=c(.25, .75), na.rm = FALSE)
iqr <- IQR(ab_2015$ytotcor)
eliminated <- subset(ab_2015, ab_2015$ytotcor > (Q[1] - 1.5*iqr) & ab_2015$ytotcor < (Q[2]+1.5*iqr))
#eliminated
a <- eliminated$ytotcor
b <- eliminated$comuna
c <- eliminated$e1 #alfabetismo
d <- eliminated$r3 #etnia
e <- eliminated$sexo
promedios_grupales <-aggregate(a, by=list(b, c, d, e), FUN = mean , na.rm = TRUE)
head(promedios_grupales,5)
promedios_grupales_sd <-aggregate(a, by=list(b, c, d, e), FUN = sd , na.rm = TRUE)
head(promedios_grupales_sd,3)
promedios_grupales_gini <-aggregate(a, by=list(b, c, d, e), FUN = gini , na.rm = TRUE)
head(promedios_grupales_gini,3)
## Group.1 Group.2 Group.3 Group.4 gini.a
## 1 Iquique Sí, lee y escribe Aimara Hombre 0.2979720
## 2 Alto Hospicio Sí, lee y escribe Aimara Hombre 0.3072664
## 3 Pozo Almonte Sí, lee y escribe Aimara Hombre 0.3189767
promedios_grupales$sd = promedios_grupales_sd$sd.a
promedios_grupales$gini = promedios_grupales_gini$gini.a
d<-promedios_grupales
d$Año <- "2015"
head(d,5)
names(d)[1] <- "Comuna"
names(d)[2] <- "Alfabetismo"
names(d)[3] <- "Etnia"
names(d)[4] <- "Sexo"
names(d)[5] <- "Promedio del Ingreso"
names(d)[6] <- "Desviación standard"
names(d)[7] <- "Gini"
names(d)[8] <- "Año"
head(d,3)
codigos_comunales <- readRDS(file = "codigos_comunales_2011-2017.rds")
names(codigos_comunales)[1] <- "Código"
names(codigos_comunales)[2] <- "Comuna"
# codigos_comunales
df_2015 = merge( x = d, y = codigos_comunales, by = "Comuna", all.x = TRUE)
df_2015 <-df_2015[!(df_2015$Promedio == 0),]
head(df_2015,5)
# dataset <- readRDS(file = "casen_2017_c.rds")
ab_2013 <- readRDS(file = "casen_2013_c.rds")
ab_2013 <- ab_2013[!is.na(ab_2013$ytotcor),]
Q <- quantile(ab_2013$ytotcor, probs=c(.25, .75), na.rm = FALSE)
iqr <- IQR(ab_2013$ytotcor)
eliminated <- subset(ab_2013, ab_2013$ytotcor > (Q[1] - 1.5*iqr) & ab_2013$ytotcor < (Q[2]+1.5*iqr))
#eliminated
a <- eliminated$ytotcor
b <- eliminated$comuna
c <- eliminated$e1 #alfabetismo
d <- eliminated$r6 #etnia
e <- eliminated$sexo
promedios_grupales <-aggregate(a, by=list(b, c, d, e), FUN = mean , na.rm = TRUE)
head(promedios_grupales,5)
promedios_grupales_sd <-aggregate(a, by=list(b, c, d, e), FUN = sd , na.rm = TRUE)
head(promedios_grupales_sd,3)
promedios_grupales_gini <-aggregate(a, by=list(b, c, d, e), FUN = gini , na.rm = TRUE)
head(promedios_grupales_gini,3)
## Group.1 Group.2 Group.3 Group.4 gini.a
## 1 Iquique Sí, lee y escribe Aymara Hombre 0.2898126
## 2 Alto Hospicio Sí, lee y escribe Aymara Hombre 0.3578542
## 3 Pozo Almonte Sí, lee y escribe Aymara Hombre 0.4218036
promedios_grupales$sd = promedios_grupales_sd$sd.a
promedios_grupales$gini = promedios_grupales_gini$gini.a
d<-promedios_grupales
d$Año <- "2013"
head(d,5)
names(d)[1] <- "Comuna"
names(d)[2] <- "Alfabetismo"
names(d)[3] <- "Etnia"
names(d)[4] <- "Sexo"
names(d)[5] <- "Promedio del Ingreso"
names(d)[6] <- "Desviación standard"
names(d)[7] <- "Gini"
names(d)[8] <- "Año"
head(d,3)
codigos_comunales <- readRDS(file = "codigos_comunales_2011-2017.rds")
names(codigos_comunales)[1] <- "Código"
names(codigos_comunales)[2] <- "Comuna"
# codigos_comunales
df_2013 = merge( x = d, y = codigos_comunales, by = "Comuna", all.x = TRUE)
df_2013 <-df_2013[!(df_2013$Promedio == 0),]
head(df_2013,5)
# dataset <- readRDS(file = "casen_2011_c.rds")
ab_2011 <- readRDS(file = "casen_2011_c.rds")
ab_2011 <- ab_2011[!is.na(ab_2011$ytotaj),]
Q <- quantile(ab_2011$ytotaj, probs=c(.25, .75), na.rm = FALSE)
iqr <- IQR(ab_2011$ytotaj)
eliminated <- subset(ab_2011, ab_2011$ytotaj > (Q[1] - 1.5*iqr) & ab_2011$ytotaj < (Q[2]+1.5*iqr))
#eliminated
a <- eliminated$ytotaj
b <- eliminated$comuna
c <- eliminated$e1 #alfabetismo
d <- eliminated$r1p_cod #etnia
e <- eliminated$sexo
promedios_grupales <-aggregate(a, by=list(b, c, d, e), FUN = mean , na.rm = TRUE)
head(promedios_grupales,5)
promedios_grupales_sd <-aggregate(a, by=list(b, c, d, e), FUN = sd , na.rm = TRUE)
head(promedios_grupales_sd,3)
promedios_grupales_gini <-aggregate(a, by=list(b, c, d, e), FUN = gini , na.rm = TRUE)
head(promedios_grupales_gini,3)
## Group.1 Group.2 Group.3 Group.4 gini.a
## 1 Copiapó Sí, lee y escribe Alemania Hombre 0
## 2 Putaendo Sí, lee y escribe Alemania Hombre 0
## 3 Colbún Sí, lee y escribe Alemania Hombre 0
promedios_grupales$sd = promedios_grupales_sd$sd.a
promedios_grupales$gini = promedios_grupales_gini$gini.a
d<-promedios_grupales
d$Año <- "2011"
head(d,5)
names(d)[1] <- "Comuna"
names(d)[2] <- "Alfabetismo"
names(d)[3] <- "Etnia"
names(d)[4] <- "Sexo"
names(d)[5] <- "Promedio del Ingreso"
names(d)[6] <- "Desviación standard"
names(d)[7] <- "Gini"
names(d)[8] <- "Año"
head(d,3)
codigos_comunales <- readRDS(file = "codigos_comunales_2011-2017.rds")
names(codigos_comunales)[1] <- "Código"
names(codigos_comunales)[2] <- "Comuna"
# codigos_comunales
df_2011 = merge( x = d, y = codigos_comunales, by = "Comuna", all.x = TRUE)
df_2011 <-df_2011[!(df_2011$Promedio == 0),]
head(df_2011,5)
A PARTIR DE AQUI TERMINA EL TRABAJO SOBRE MIGRACIÓN EN VEZ DE ETNIA ############################################### ############################################### ###############################################
# dataset <- readRDS(file = "casen_2009_c.rds")
ab_2009 <- readRDS(file = "casen_2009_c.rds")
ab_2009 <- ab_2009[!is.na(ab_2009$YTOTAJ),]
Q <- quantile(ab_2009$YTOTAJ, probs=c(.25, .75), na.rm = FALSE)
iqr <- IQR(ab_2009$YTOTAJ)
eliminated <- subset(ab_2009, ab_2009$YTOTAJ > (Q[1] - 1.5*iqr) & ab_2009$YTOTAJ < (Q[2]+1.5*iqr))
a <- eliminated$YTOTAJ
b <- eliminated$COMUNA
c <- eliminated$E1 #alfabetismo
d <- eliminated$T5 #etnia
e <- eliminated$SEXO
promedios_grupales <-aggregate(a, by=list(b, c, d, e), FUN = mean , na.rm = TRUE)
head(promedios_grupales,5)
promedios_grupales_sd <-aggregate(a, by=list(b, c, d, e), FUN = sd , na.rm = TRUE)
head(promedios_grupales_sd,3)
promedios_grupales_gini <-aggregate(a, by=list(b, c, d, e), FUN = gini , na.rm = TRUE)
head(promedios_grupales_gini,3)
## Group.1 Group.2 Group.3 Group.4 gini.a
## 1 Iquique Sí Aymara Hombre 0.4778100
## 2 Alto Hospicio Sí Aymara Hombre 0.2559381
## 3 Pozo Almonte Sí Aymara Hombre 0.2997865
promedios_grupales$sd = promedios_grupales_sd$sd.a
promedios_grupales$gini = promedios_grupales_gini$gini.a
d<-promedios_grupales
d$Año <- "2009"
head(d,5)
names(d)[1] <- "Comuna"
names(d)[2] <- "Alfabetismo"
names(d)[3] <- "Etnia"
names(d)[4] <- "Sexo"
names(d)[5] <- "Promedio del Ingreso"
names(d)[6] <- "Desviación standard"
names(d)[7] <- "Gini"
names(d)[8] <- "Año"
head(d,3)
codigos_comunales <- readRDS(file = "codigos_comunales_2009.rds")
names(codigos_comunales)[1] <- "Código"
names(codigos_comunales)[2] <- "Comuna"
# codigos_comunales
df_2009 = merge( x = d, y = codigos_comunales, by = "Comuna", all.x = TRUE)
df_2009 <-df_2009[!(df_2009$Promedio == 0),]
head(df_2009,5)
# dataset <- readRDS(file = "casen_2006_c.rds")
ab_2006 <- readRDS(file = "casen_2006_c.rds")
ab_2006 <- ab_2006[!is.na(ab_2006$YTOTAJ),]
Q <- quantile(ab_2006$YTOTAJ, probs=c(.25, .75), na.rm = FALSE)
iqr <- IQR(ab_2006$YTOTAJ)
eliminated <- subset(ab_2006, ab_2006$YTOTAJ > (Q[1] - 1.5*iqr) & ab_2006$YTOTAJ < (Q[2]+1.5*iqr))
a <- eliminated$YTOTAJ
b <- eliminated$COMUNA
c <- eliminated$E1 #alfabetismo
d <- eliminated$T4 #etnia
e <- eliminated$SEXO
promedios_grupales <-aggregate(a, by=list(b, c, d, e), FUN = mean , na.rm = TRUE)
head(promedios_grupales,5)
promedios_grupales_sd <-aggregate(a, by=list(b, c, d, e), FUN = sd , na.rm = TRUE)
head(promedios_grupales_sd,3)
promedios_grupales_gini <-aggregate(a, by=list(b, c, d, e), FUN = gini , na.rm = TRUE)
head(promedios_grupales_gini,3)
## Group.1 Group.2 Group.3 Group.4 gini.a
## 1 Iquique Sí Aymara Hombre 0.3516928
## 2 Camiña Sí Aymara Hombre 0.3511544
## 3 Colchane Sí Aymara Hombre 0.4907693
promedios_grupales$sd = promedios_grupales_sd$sd.a
promedios_grupales$gini = promedios_grupales_gini$gini.a
d<-promedios_grupales
d$Año <- "2006"
head(d,5)
names(d)[1] <- "Comuna"
names(d)[2] <- "Alfabetismo"
names(d)[3] <- "Etnia"
names(d)[4] <- "Sexo"
names(d)[5] <- "Promedio del Ingreso"
names(d)[6] <- "Desviación standard"
names(d)[7] <- "Gini"
names(d)[8] <- "Año"
head(d,3)
codigos_comunales <- readRDS(file = "codigos_comunales_2006.rds")
names(codigos_comunales)[1] <- "Código"
names(codigos_comunales)[2] <- "Comuna"
# codigos_comunales
df_2006 = merge( x = d, y = codigos_comunales, by = "Comuna", all.x = TRUE)
df_2006 <-df_2006[!(df_2006$Promedio == 0),]
head(df_2006,5)
options(scipen=999)
uni_parcial <- rbind(df_2006,df_2009,df_2011,df_2013,df_2015,df_2017)
head(uni_parcial,5)
## Comuna Alfabetismo Etnia Sexo
## 1 Aisén Sí Kawaskar Hombre
## 2 Aisén Sí Mapuche Hombre
## 3 Aisén Sí No pertenece a ningún pueblo indígena Mujer
## 4 Aisén No No pertenece a ningún pueblo indígena Mujer
## 5 Aisén Sí No pertenece a ningún pueblo indígena Hombre
## Promedio del Ingreso Desviación standard Gini Año Código
## 1 47386.0 NA 0.0000000 2006 11201
## 2 206218.9 103383.51 0.2792730 2006 11201
## 3 141209.0 101011.54 0.4004693 2006 11201
## 4 64652.2 41793.76 0.2441928 2006 11201
## 5 221528.5 120760.74 0.3104046 2006 11201
saveRDS(uni_parcial,"uni_parcial.rds")
uni_parcial_leido <- readRDS("uni_parcial.rds")
head(uni_parcial_leido,5)
## Comuna Alfabetismo Etnia Sexo
## 1 Aisén Sí Kawaskar Hombre
## 2 Aisén Sí Mapuche Hombre
## 3 Aisén Sí No pertenece a ningún pueblo indígena Mujer
## 4 Aisén No No pertenece a ningún pueblo indígena Mujer
## 5 Aisén Sí No pertenece a ningún pueblo indígena Hombre
## Promedio del Ingreso Desviación standard Gini Año Código
## 1 47386.0 NA 0.0000000 2006 11201
## 2 206218.9 103383.51 0.2792730 2006 11201
## 3 141209.0 101011.54 0.4004693 2006 11201
## 4 64652.2 41793.76 0.2441928 2006 11201
## 5 221528.5 120760.74 0.3104046 2006 11201
write_xlsx(uni_parcial,"uni_parcial.xlsx")
objeto_leido <- read_excel("uni_parcial.xlsx")
head(objeto_leido,5)
## # A tibble: 5 x 9
## Comuna Alfabetismo Etnia Sexo `Promedio del I~ `Desviación sta~ Gini Año
## <chr> <chr> <chr> <chr> <dbl> <dbl> <dbl> <chr>
## 1 Aisén Sí Kawa~ Homb~ 47386 NA 0 2006
## 2 Aisén Sí Mapu~ Homb~ 206219. 103384. 0.279 2006
## 3 Aisén Sí No p~ Mujer 141209. 101012. 0.400 2006
## 4 Aisén No No p~ Mujer 64652. 41794. 0.244 2006
## 5 Aisén Sí No p~ Homb~ 221528. 120761. 0.310 2006
## # ... with 1 more variable: Código <chr>