Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
robertopucp
GitHub Repository: robertopucp/1eco35_2022_2
Path: blob/main/Trabajo_grupal/WG6/Grupo_1_R.R
2714 views
1
2
########################################### GRUPO 1 ############################################
3
##################################### Miembros del grupo ######################################
4
# 20163197, Enrique Alfonso Pazos
5
# 20191894, Ilenia Ttito
6
# 20151595, Rodrigo Ramos
7
# 20193469, Luis Eguzquiza
8
# 20163377, Jean Ni�o de Guzman
9
10
library(haven) # leer archivos spss, stata, dbf, etc
11
library(dplyr)
12
library(haven) # leer archivos spss, stata, dbf, etc
13
library(fastDummies) # crear dummy
14
library(srvyr) # libreria para declarar el diseño muestral de una encuesta
15
library(survey)
16
17
18
########################################## Pregunta 1 ##########################################
19
# Directorio
20
user <- Sys.getenv("USERNAME")
21
setwd( paste0("C:/Users/",user,"/Documents/GitHub/1ECO35_2022_2") )
22
23
#2019
24
enaho_mod01_2019 <- read_dta("../../Enaho/2019/687-Modulo01/enaho01-2019-100.dta")
25
enaho_mod34_2019 <- read_dta("../../Enaho/2019/687-Modulo34/sumaria-2019.dta")
26
#2020
27
enaho_mod01_2020 <- read_dta("../../Enaho/2020/737-Modulo01/737-Modulo01/enaho01-2020-100.dta")
28
enaho_mod34_2020 <- read_dta("../../Enaho/2020/737-Modulo34/737-Modulo34/sumaria-2020.dta")
29
30
#Nos quedamos solo con variables relevantes
31
enaho_mod01_2019<-enaho_mod01_2019[,c("a�o", "conglome", "vivienda", "hogar", "ubigeo")]
32
enaho_mod01_2020<-enaho_mod01_2020[,c("a�o", "conglome", "vivienda", "hogar", "ubigeo")]
33
34
#Renombramos a�o como Year
35
enaho_mod01_2019<-enaho_mod01_2019 %>% rename(Year = ao)
36
enaho_mod01_2020<-enaho_mod01_2020 %>% rename(Year = ao)
37
38
#Merge ambas bases
39
Enaho_2019<-merge(enaho_mod01_2019,enaho_mod34_2019, by=c("vivienda", "hogar", "ubigeo"),all.x = TRUE)
40
Enaho_2020<-merge(enaho_mod01_2020,enaho_mod34_2020, by=c("vivienda", "hogar", "ubigeo"),all.x = TRUE)
41
42
43
Enaho_2019_2020<-bind_rows(Enaho_2019,Enaho_2020)
44
dep<-substr(Enaho_2019_2020$ubigeo,start = 1,stop=2)
45
dep<-as.numeric(dep)
46
dep <- data.frame(dep)
47
Enaho_2019_2020 <- cbind(Enaho_2019_2020, dep)
48
49
deflactor_temporal <- read_dta("../../Enaho/2020/737-Modulo34/737-Modulo34/ConstVarGasto-Metodologia actualizada/Gasto2020/Bases/deflactores_base2020_new.dta")
50
51
deflactor_temporal<-deflactor_temporal %>% rename(dep = dpto)
52
deflactor_temporal<-deflactor_temporal %>% rename(Year = aniorec)
53
54
55
merg_final<-merge(Enaho_2019_2020,deflactor_temporal, by =c("dep","Year"),all.x = TRUE)
56
57
# Deflacto entre la variable "mieperho", 12, "ld", "i00"
58
59
merg_final$inghog1d<- merg_final$inghog1d/merg_final$mieperho
60
merg_final$gashog2d<- merg_final$gashog2d/merg_final$mieperho
61
62
merg_final$inghog1d<- merg_final$inghog1d/12
63
merg_final$gashog2d<- merg_final$gashog2d/12
64
65
merg_final$inghog1d<- merg_final$inghog1d/merg_final$ld
66
merg_final$gashog2d<- merg_final$gashog2d/merg_final$ld
67
68
merg_final$inghog1d<- merg_final$inghog1d/merg_final$i00
69
merg_final$gashog2d<- merg_final$gashog2d/merg_final$i00
70
71
# Base de datos final:
72
merg_final
73
74
########################################## Pregunta 2 ##########################################
75
76
##
77
## Salario por hora del trabajador dependiente
78
##
79
80
# Leemos la base de datos de la ENAHO
81
df <- read_dta("../../Enaho/2020/737-Modulo05/737-Modulo05/enaho01a-2020-500.dta")
82
83
# Utilizamos fillna para reemplazar todos los missing values con 0
84
# Solo lo hacemos en las variables que ser?n ?tiles para el c?lculo del salario por hora
85
df <- mutate_at(df, c("i524e1","i538e1","i513t","i518"), ~replace(., is.na(.), 0))
86
87
# Creamos la variable salario_hora con la f?rmula de salario por hora especificado en la tarea
88
salario_hora <- ( (df$i524e1)+(df$i538e1) ) / ( ( (df$i513t) + (df$i518) ) * 52 )
89
90
# A?adimos la nueva variable a la base de datos
91
df <- cbind(df, salario_hora)
92
93
# Reemplazamos los 0 por Nan en la columna salario_hora
94
# Esto con la finalidad de indicar que no hay datos para esas filas
95
df$salario_hora[df$salario_hora == 0] <- NaN
96
df$salario_hora
97
98
########################################## Pregunta 3 ##########################################
99
100
##
101
## Group By
102
##
103
104
#Se cargan las bases de datos del modulo02 y modulo34
105
#Modulo02:
106
enaho02 <- data.frame(
107
read_dta("../../Enaho/2020/737-Modulo02/737-Modulo02/enaho01-2020-200.dta")
108
)
109
#Modulo34
110
enaho34 <- data.frame(
111
read_dta("../../Enaho/2020/737-Modulo34/737-Modulo34/sumaria-2020.dta")
112
)
113
114
#Se seleccionan las variables que necesarias para cada m?dulo (para identificar individuos en hogares y conocer la edad y pobreza del hogar)
115
enaho02 <- enaho02[ , c("conglome", "vivienda", "hogar","p208a") ]
116
117
enaho34 <- enaho34[ , c("conglome", "vivienda", "hogar","pobreza") ]
118
119
120
#Se aplica el groupby para el m?dulo02:
121
122
enaho02 <- enaho02%>%
123
group_by(conglome, vivienda, hogar)%>%
124
summarise(max(p208a)) #Se indica que se extraiga el mayor valor de edad de cada hogar
125
126
#Merge
127
#Se juntan las bases de datos en base a las variables de conglome, vivienda y hogar. Se tiene como base maestra el modulo02
128
enaho_merge <- merge(enaho02, enaho34,
129
by = c("conglome", "vivienda", "hogar"),
130
all.x = T
131
)
132
133
#Se renombra a la variable p208a por "edad":
134
names (enaho_merge)[4] = "edad"
135
136
#Dummy
137
#Se crea una dummy con los criterios:
138
#Si el hogar tiene al menos un integrante mayor de 65 y est?n en pobreza, se le coloca 1
139
#Todos los dem?s casos se les coloca 0
140
#Adem?s, se indica que en caso se tengan datos na, estos no tengan un 0, sino que se les asigne un NA
141
enaho_merge <- enaho_merge %>%
142
mutate(dummy_pobre = ifelse( (enaho_merge$p208a > 65 & enaho_merge$pobreza < 3) ,
143
1,
144
ifelse(!is.na(enaho_merge$p208a |!is.na(enaho_merge$pobreza)),
145
0,
146
NA) ) )
147
148
149
########################################## Pregunta 4 ##########################################
150
151
##
152
## Indicadores
153
##
154
155
# Leemos la base de datos del modulo 37 y 34 de la ENAHO
156
enaho37 = data.frame(read_dta("../../Enaho/2020/737-Modulo37/737-Modulo37/enaho01-2020-700.dta"))
157
158
enaho34 = data.frame(read_dta("../../Enaho/2020/737-Modulo34/737-Modulo34/sumaria-2020.dta"))
159
160
#Nos quedamos solo con variables relevantes de ambos m?dulos
161
162
enaho37 <- enaho37[,c("p710_04", "factor07", "conglome", "vivienda", "hogar" ,"ubigeo", "estrato")]
163
164
enaho34 <- enaho34[ ,c("gru51hd", "gashog2d", "factor07", "conglome", "vivienda", "hogar" ,"ubigeo", "estrato")]
165
166
167
#Primero, especificamos el dise?o de las encuestas
168
# ids: conglomerado, strato: estrato y wieght : factor de expansi?n
169
170
encuesta_enaho37 <- enaho37 %>% as_survey_design(ids = conglome,
171
strata = estrato,
172
weight = factor07)
173
174
encuesta_enaho34 <- enaho34 %>% as_survey_design(ids = conglome,
175
strata = estrato,
176
weight = factor07)
177
178
179
#Obtenemos la variable de ubigeo de cada regi?n de ambos m?dulos
180
181
enaho37['ubigeo_dep'] = substr(enaho37$ubigeo, 1, 2)
182
183
enaho37 <- enaho37 %>%
184
mutate(region = case_when(ubigeo_dep == "01" ~ "Amazonas",
185
ubigeo_dep == "02" ~ "Ancash",
186
ubigeo_dep == "03" ~ "Apurimac",
187
ubigeo_dep == "04" ~ "Arequipa",
188
ubigeo_dep == "05" ~ "Ayacucho",
189
ubigeo_dep == "06" ~ "Cajamarca",
190
ubigeo_dep == "07" ~ "Callao",
191
ubigeo_dep == "08" ~ "Cusco",
192
ubigeo_dep == "09" ~ "Huancavelica",
193
ubigeo_dep == "10" ~ "Huanuco",
194
ubigeo_dep == "11" ~ "Ica",
195
ubigeo_dep == "12" ~ "Junin",
196
ubigeo_dep == "13" ~ "La Libertad",
197
ubigeo_dep == "14" ~ "Lambayeque",
198
ubigeo_dep == "15" ~ "Lima",
199
ubigeo_dep == "16" ~ "Loreto",
200
ubigeo_dep == "17" ~ "Madre de Dios",
201
ubigeo_dep == "18" ~ "Moquegua",
202
ubigeo_dep == "19" ~ "Pasco",
203
ubigeo_dep == "20" ~ "Piura",
204
ubigeo_dep == "21" ~ "Puno",
205
ubigeo_dep == "22" ~ "San Mart?n",
206
ubigeo_dep == "23" ~ "Tacna",
207
ubigeo_dep == "24" ~ "Tumbes",
208
ubigeo_dep == "25" ~ "Ucayali",)
209
)
210
211
212
encuesta_enaho37 <- enaho37 %>% as_survey_design(ids = conglome,
213
strata = estrato,
214
weight = factor07)
215
216
217
218
219
enaho34['ubigeo_dep'] = substr(enaho34$ubigeo, 1, 2)
220
enaho34 <- enaho34 %>%
221
mutate(region = case_when(ubigeo_dep == "01" ~ "Amazonas",
222
ubigeo_dep == "02" ~ "Ancash",
223
ubigeo_dep == "03" ~ "Apurimac",
224
ubigeo_dep == "04" ~ "Arequipa",
225
ubigeo_dep == "05" ~ "Ayacucho",
226
ubigeo_dep == "06" ~ "Cajamarca",
227
ubigeo_dep == "07" ~ "Callao",
228
ubigeo_dep == "08" ~ "Cusco",
229
ubigeo_dep == "09" ~ "Huancavelica",
230
ubigeo_dep == "10" ~ "Huanuco",
231
ubigeo_dep == "11" ~ "Ica",
232
ubigeo_dep == "12" ~ "Junin",
233
ubigeo_dep == "13" ~ "La Libertad",
234
ubigeo_dep == "14" ~ "Lambayeque",
235
ubigeo_dep == "15" ~ "Lima",
236
ubigeo_dep == "16" ~ "Loreto",
237
ubigeo_dep == "17" ~ "Madre de Dios",
238
ubigeo_dep == "18" ~ "Moquegua",
239
ubigeo_dep == "19" ~ "Pasco",
240
ubigeo_dep == "20" ~ "Piura",
241
ubigeo_dep == "21" ~ "Puno",
242
ubigeo_dep == "22" ~ "San Mart?n",
243
ubigeo_dep == "23" ~ "Tacna",
244
ubigeo_dep == "24" ~ "Tumbes",
245
ubigeo_dep == "25" ~ "Ucayali",) )
246
247
248
249
encuesta_enaho34 <- enaho34 %>% as_survey_design(ids = conglome,
250
strata = estrato,
251
weight = factor07)
252
253
254
255
#Calculamos el indicador de porcentaje que hogares a nivel de regi?n (departamentos) que se beneficia del programa
256
257
enaho37_final <- encuesta_enaho37 %>% group_by(region) %>%
258
summarise(juntos= survey_mean(p710_04, na.rm = T))
259
260
View(enaho_37[, c('region', 'juntos')])
261
262
263
#Calculamos el indicador de promedio del porcentaje de gasto en salud realizado por los hogares a nivel de regi?n (departamentos)
264
265
266
enaho34_final <- encuesta_enaho34 %>% mutate(porcentaje_gasto_salud = gru51hd/gashog2d) %>% group_by(region) %>%
267
summarise(promedio_gasto_salud= survey_mean(porcentaje_gasto_salud))
268
269
View(enaho34_final[, c('region', 'promedio_gasto_salud')])
270
271
272
273
274
275
276
277
278
279