CASEN_2015 <- read_sav("Casen 2015.sav")
saveRDS(CASEN_2015, "CASEN_2015_fexpc.rds")
CASEN_2015_ds <- readRDS("CASEN_2015_fexpc.rds")
# CASEN_2015_ds
new_DF <- subset(CASEN_2015_ds, is.na(CASEN_2015_ds$expc))
newdata <- new_DF[c("comuna", "expc")]
frecuencias_fexp <- table(newdata$comuna)
newdata <- distinct(newdata, comuna, .keep_all = TRUE)
nrow(newdata)
## [1] 185
unidos <- cbind(newdata, frecuencias_fexp)
head(unidos, 4)
## comuna expc Var1 Freq
## 1 1402 NA 1402 132
## 2 1404 NA 1404 268
## 3 1405 NA 1405 327
## 4 2102 NA 2102 337
# para observar la relacion codigo-comuna.
valor <- newdata$comuna %>% attr('labels')
# valor
Vamos a hacerlo en forma global en la base de datos del 2015:
Debemos modificar 21 comunas.
CASEN_2015_ds$comuna[CASEN_2015_ds$comuna == 8401] <- 16101
CASEN_2015_ds$comuna[CASEN_2015_ds$comuna == 8402] <- 16102
CASEN_2015_ds$comuna[CASEN_2015_ds$comuna == 8403] <- 16202
CASEN_2015_ds$comuna[CASEN_2015_ds$comuna == 8404] <- 16203
CASEN_2015_ds$comuna[CASEN_2015_ds$comuna == 8405] <- 16302
CASEN_2015_ds$comuna[CASEN_2015_ds$comuna == 8406] <- 16103
CASEN_2015_ds$comuna[CASEN_2015_ds$comuna == 8407] <- 16104
CASEN_2015_ds$comuna[CASEN_2015_ds$comuna == 8408] <- 16204
CASEN_2015_ds$comuna[CASEN_2015_ds$comuna == 8409] <- 16303
CASEN_2015_ds$comuna[CASEN_2015_ds$comuna == 8410] <- 16105
CASEN_2015_ds$comuna[CASEN_2015_ds$comuna == 8411] <- 16106
CASEN_2015_ds$comuna[CASEN_2015_ds$comuna == 8412] <- 16205
CASEN_2015_ds$comuna[CASEN_2015_ds$comuna == 8413] <- 16107
CASEN_2015_ds$comuna[CASEN_2015_ds$comuna == 8414] <- 16201
CASEN_2015_ds$comuna[CASEN_2015_ds$comuna == 8415] <- 16206
CASEN_2015_ds$comuna[CASEN_2015_ds$comuna == 8416] <- 16301
CASEN_2015_ds$comuna[CASEN_2015_ds$comuna == 8417] <- 16304
CASEN_2015_ds$comuna[CASEN_2015_ds$comuna == 8418] <- 16108
CASEN_2015_ds$comuna[CASEN_2015_ds$comuna == 8419] <- 16305
CASEN_2015_ds$comuna[CASEN_2015_ds$comuna == 8420] <- 16207
CASEN_2015_ds$comuna[CASEN_2015_ds$comuna == 8421] <- 16109
new_DF <- subset(CASEN_2015_ds, is.na(CASEN_2015_ds$expc))
newdata <- new_DF[c("comuna", "expc")]
frecuencias_fexp <- table(newdata$comuna)
newdata <- distinct(newdata, comuna, .keep_all = TRUE)
nrow(newdata)
## [1] 185
unidos <- cbind(newdata, frecuencias_fexp)
head(unidos, 5)
## comuna expc Var1 Freq
## 1 1402 NA 1402 132
## 2 1404 NA 1404 268
## 3 1405 NA 1405 327
## 4 2102 NA 2102 337
## 5 2103 NA 2103 98
i Hay que crear una tabla factores_propios con la población proyectada del 2015 al 2020 y los códigos las 185 comunas.
ii hay que anadir una columna a factores_propios con un factor de expansión: para cada comuna hay un número muestral n. El fdeexp sera = poblacion comunal / n.
iii Hay que adjuntar el factor de expansión al dataset original:
pob_chilena <- readRDS("poblacion_chilena.rds")
pob_por_comuna_ine_2015 <- aggregate(pob_chilena$Poblacion.2015, by=list(Comuna=pob_chilena$Comuna), FUN=sum)
head(pob_por_comuna_ine_2015, 5)
## Comuna sum.pob_chilena$Poblacion.2015
## 1 1101 196728
## 2 1107 106694
## 3 1401 14451
## 4 1402 1273
## 5 1403 1499
names(pob_por_comuna_ine_2015)[1] <- "comuna"
df = merge( x = unidos, y = pob_por_comuna_ine_2015, by = "comuna", all.x = TRUE)
head(df,5)
## comuna expc Var1 Freq sum.pob_chilena$Poblacion.2015
## 1 1402 NA 1402 132 1273
## 2 1404 NA 1404 268 2685
## 3 1405 NA 1405 327 5087
## 4 2102 NA 2102 337 12267
## 5 2103 NA 2103 98 1539
names(df)[5] <- "pobla"
nrow(df)
## [1] 185
head(df,5)
## comuna expc Var1 Freq pobla
## 1 1402 NA 1402 132 1273
## 2 1404 NA 1404 268 2685
## 3 1405 NA 1405 327 5087
## 4 2102 NA 2102 337 12267
## 5 2103 NA 2103 98 1539
df_final <- mutate(df, fexpc = trunc(pobla/Freq))
head(df_final,5)
## comuna expc Var1 Freq pobla fexpc
## 1 1402 NA 1402 132 1273 9
## 2 1404 NA 1404 268 2685 10
## 3 1405 NA 1405 327 5087 15
## 4 2102 NA 2102 337 12267 36
## 5 2103 NA 2103 98 1539 15
gg <- df_final[df_final$comuna == 2102,]
gg
## comuna expc Var1 Freq pobla fexpc
## 4 2102 NA 2102 337 12267 36
CASEN_2015_ds_final <- CASEN_2015_ds
for(id in 1:nrow(df_final)){
CASEN_2015_ds_final$expc[CASEN_2015_ds_final$comuna %in% df_final$comuna[id]] <- df_final$fexpc[id]
}
# nrow(CASEN_2015_ds_final)
# CASEN_2015_ds_final
CASEN_2015_ds_final es nuestra base de datos Casen 2015 finalmente corregida.
Prueba I: ¿Hay observaciones sin factor de expansión?
new_DF <- subset(CASEN_2015_ds_final, is.na(CASEN_2015_ds_final$expc))
CASEN_2015_ds_final_f <- new_DF[c("comuna", "expc")]
# newdata <- distinct(CASEN_2015_ds_final_f, comuna, .keep_all = TRUE)
# newdata
nrow(CASEN_2015_ds_final_f)
## [1] 0
Prueba II: ¿Están correctamente asignados los factores de expansión?
g <- CASEN_2015_ds_final[CASEN_2015_ds_final$comuna == 2102, c(735:737)]
head(g,5)
## # A tibble: 5 x 3
## expr expc expr_div
## <dbl> <dbl> <dbl>
## 1 54 36 105
## 2 54 36 94
## 3 54 36 105
## 4 54 36 73
## 5 54 36 211
Vemos que la comuna 2102 tiene como factor de expansión el número 36, que es justamente el que hemos calculado y asignado para ésta comuna en el punto: 4 Extraigamos el fexpc para la comuna 2102, con la que haremos un contraste al final.
QED.