Manipulacion de datos
library(haven)
library(tidyverse)
## -- Attaching packages --------------------------------------- tidyverse 1.3.0 --
## v ggplot2 3.3.3 v purrr 0.3.4
## v tibble 3.1.0 v dplyr 1.0.5
## v tidyr 1.1.3 v stringr 1.4.0
## v readr 1.4.0 v forcats 0.5.1
## -- Conflicts ------------------------------------------ tidyverse_conflicts() --
## x dplyr::filter() masks stats::filter()
## x dplyr::lag() masks stats::lag()
#<<<<<<< HEAD
Caracteristicas_y_composicion_del_hogar <- read_sav("Caracteristicas y composicion del hogar.sav")
Servicios_del_hogar <- read_sav("Servicios del hogar.sav" )
#=======
#Caracteristicas_y_composicion_del_hogar <- read_sav("C:/Users/julia/Downloads/Encuesta Calidad de Vida/Caracteristicas y composicion del hogar.sav")
#Servicios_del_hogar <- read_sav("C:/Users/julia/Downloads/Encuesta Calidad de Vida/Servicios del hogar.sav")
#>>>>>>> 575a674479f60f6deeeaee286ea0a252b67ec495
http://microdatos.dane.gov.co/index.php/catalog/607/datafile/F116
Caracteristicas_y_composicion_del_hogar
#extraccion numero de hijos
#se filtra P6051 == 3
nhijos <- Caracteristicas_y_composicion_del_hogar %>%
filter(P6051==3, SECUENCIA_P == 1) %>%
group_by(DIRECTORIO) %>%
summarise(Hijos=n())
barplot(table(nhijos$Hijos), main="Numero de hijos")
caracteristicas_hogar <- Caracteristicas_y_composicion_del_hogar %>%
filter(P6051==1, SECUENCIA_P == 1) %>%
select(DIRECTORIO ,P6020, P6040, P5502, P6071, P5667)
caracteristicas_hogar
#secuencia encuesta 1 para la primera encuesta que le hicieron al hogar
servicios <- Servicios_del_hogar %>%
filter(SECUENCIA_ENCUESTA == 1) %>%
select(DIRECTORIO, CANT_PERSONAS_HOGAR, I_HOGAR, P5010)
servicios
#unir caracteristicas y nhijos a datos
datos <- merge(x = caracteristicas_hogar, y = nhijos, by = "DIRECTORIO", all.x=TRUE, all.y=TRUE)
#unir datos con servicios
datos <- merge(x = datos, y = servicios, by = "DIRECTORIO", all.x = TRUE, all.y=TRUE)
#reemplazar NA con 0 hijos
datos <- datos %>% replace_na(list(Hijos = 0))
datos %>%
filter(CANT_PERSONAS_HOGAR == 0 & Hijos == 0)
plot(datos$CANT_PERSONAS_HOGAR,datos$Hijos)
datos
write.csv(datos,"datos.csv", row.names = TRUE)
Intento para combinar con otro archivo, no mejoró el performance
datos_vivienda <- read_sav("Datos de la vivienda.sav" )
datos_vivienda
source("datosNA.R")
sel<-seleccionar(datos_vivienda)
sel
## [1] "DIRECTORIO" "SECUENCIA_ENCUESTA" "SECUENCIA_P"
## [4] "ORDEN" "REGION" "P1_DEPARTAMENTO"
## [7] "CANT_HOG_COMPLETOS" "CANT_HOGARES_VIVIENDA" "CLASE"
## [10] "P1070" "P4005" "P4015"
## [13] "P4567" "P8520S1" "P8520S1A1"
## [16] "P8520S5" "P8520S3" "P8520S4"
## [19] "P8520S4A1" "P4065S1" "P4065S2"
## [22] "P4065S3" "P4065S4" "P5661S1"
## [25] "P5661S2" "P5661S3" "P5661S4"
## [28] "P5661S9" "P5661S5" "P5661S6"
## [31] "P5661S7" "FEX_C"
datos_vivienda <- datos_vivienda %>%
filter(SECUENCIA_ENCUESTA == 1) %>%
select(sel ) %>%
select(-SECUENCIA_ENCUESTA,-SECUENCIA_P, -ORDEN, -FEX_C)
## Note: Using an external vector in selections is ambiguous.
## i Use `all_of(sel)` instead of `sel` to silence this message.
## i See <https://tidyselect.r-lib.org/reference/faq-external-vector.html>.
## This message is displayed once per session.
datos_vivienda
nuevos_datos <- merge(x = datos, y = datos_vivienda, by = "DIRECTORIO", all.x = TRUE, all.y=TRUE)
nuevos_datos
sel<-seleccionar(nuevos_datos)
length(sel)
## [1] 37
write.csv(nuevos_datos,"nuevos_datos.csv", row.names = TRUE)