Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
robertopucp
GitHub Repository: robertopucp/1eco35_2022_2
Path: blob/main/Trabajo_grupal/WG5/Grupo_3_R.R
2714 views
1
2
# Instalar paquete
3
4
#"pacman": permite abrir varias librerias de R al mismo tiempo
5
6
pacman::p_load(tidyverse, haven, dplyr, janitor , stringr)
7
8
# haven: leer archivos spss (sav). Se usará este para el trabajo
9
10
# 1. Trabajar base data_administrativa
11
# Definimos usuario
12
user <- Sys.getenv("fdcc0")
13
14
# Definimos directorio
15
setwd( paste0("C:/Users/fdcc0/Documents/GitHub/1ECO35_2022_2/data") )
16
17
#Definimos archivo
18
base = "data_administrativa.sav"
19
20
# Definimos la base a trabajar con el nombre "enc_hogar"
21
enc_hogar <- haven::read_sav(base , encoding = "UTF-8")
22
23
# 2. Mostrar variables con missing values
24
sapply( enc_hogar, function(x) sum(is.na(x)) )
25
26
# Las variables con mmissing values son: P203A, P203B, P204, P205, P206,
27
# P207, P208A, P208B, P209
28
29
# 3. Mostrar las etiquetas de dos variables:
30
31
enc_hogar$DOMINIO %>% attr('label')
32
enc_hogar$ESTRATO %>% attr('label')
33
34
# Mostrar las etiquetas de los valores de dos variables
35
enc_hogar$DOMINIO %>% attr('labels')
36
enc_hogar$ESTRATO %>% attr('labels')
37
enc_hogar$P203 %>% attr('labels')
38
enc_hogar$P203B %>% attr('labels')
39
enc_hogar$P204 %>% attr('labels')
40
enc_hogar$P205 %>% attr('labels')
41
enc_hogar$P206 %>% attr('labels')
42
enc_hogar$P207 %>% attr('labels')
43
enc_hogar$P209 %>% attr('labels')
44
45
# 4. Detectar personas evaluadas en ambos año 2019 y 2020
46
47
# Usamos "attach" para generar cada variable como objeto independiente
48
attach(enc_hogar)
49
50
# Mutate crear variables
51
52
# Ver duplicados (incluye las copias)
53
enc_hogar %>% group_by( CONGLOME, VIVIENDA, HOGAR, CODPERSO) %>%
54
mutate(duplicates = n()) %>% filter(duplicates >1) %>%
55
select(CONGLOME, VIVIENDA, HOGAR, CODPERSO, duplicates)
56
57
# Borrar duplicados y solo quedarnos con la evaluación de una persona}
58
59
enc_hogardup <- enc_hogar %>% distinct(CONGLOME,
60
VIVIENDA, HOGAR,
61
CODPERSO, .keep_all = TRUE)
62
63
# "Dim": para saber el # de filas y columnas
64
dim(enc_hogar)
65
dim(enc_hogardup)
66
67
# base original(enc_hogar) #obs = 85035
68
# base sin duplicados (enc_hogardup) #obs = 80900
69
# Hay un total de 4135 personas duplicadas (encuestadas en 2019 y 2020)
70
71
72
73
# 5. Ordenar la base de datos a partir de variables que identifican cada
74
#miembro y la variable del año "year". Así poder ver al individuo en ambos años
75
76
attach(enc_hogar)
77
78
# Usando el codigo anterior añadimos el filtro que diferencia el año y podemos ver cada al miembro en cada año
79
80
enc_hogar2019 <- enc_hogar %>% filter( year == 2019) %>% distinct(CONGLOME,
81
VIVIENDA, HOGAR,
82
CODPERSO, .keep_all = TRUE)
83
84
enc_hogar2020 <- enc_hogar %>% filter( year == 2020) %>% distinct(CONGLOME,
85
VIVIENDA, HOGAR,
86
CODPERSO, .keep_all = TRUE)
87
88
89
# 6. Crear base de datos para cada año
90
91
# En el problema anterior ya se definieron las bases por año, entonces se cambia al nombre solicitado
92
93
94
data2019 <- enc_hogar2019
95
data2020 <- enc_hogar2020
96
97
# Guardamos base en la ruta de data en formato spss
98
99
write_sav(data2019 , "data_2019_Grupo3.sav")
100
write_sav(data2020 , "data_2020_Grupo3.sav")
101
102
103