Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
robertopucp
GitHub Repository: robertopucp/1eco35_2022_2
Path: blob/main/Trabajo_final/grupo5/Grupo5_Trabajo Final.R
2714 views
1
rm(list=ls())
2
user <- Sys.getenv("USERNAME") # username
3
4
setwd( paste0("C:/Users/",user,"/Documents/GitHub/1ECO35_2022_2/Trabajo_final/datos") ) # set directorio
5
6
#---------------------------- Pregunta 1 ----------------------------------
7
# Cargamos la base de datos
8
#install.packages("haven")
9
library(haven)
10
data<-read_dta("../datos/mss_repdata.dta")
11
12
# Resumen estadístico
13
14
## Variables de interés
15
variables <- c("NDVI_g", "tot_100",
16
"trade_pGDP", "pop_den_rur",
17
"land_crop", "va_agr", "va_ind_manf")
18
## Nombres de las variables
19
var_lab <- list("Tasa de var. del indice de vegetacion",
20
"Terminos de intercambio",
21
"Exportaciones respecto al PBI",
22
"Densidad poblacional rural",
23
"Porcentaje de tierra cultivable en uso",
24
"V. A. del sector agriculta respecto PBI",
25
"V. A. del sector manufacturero respecto PBI")
26
27
# Cargamos paquete
28
#install.packages("vtable")
29
library(vtable)
30
# Creamos tabla de resumen
31
sumtable(
32
# Base filtrada con var de interés
33
data[ , names(data) %in% variables],
34
# Inputamos los nombres de variables
35
labels = var_lab,
36
# Número de dígitos
37
digits = 2,
38
# Estadísticos de interés
39
summ=c('notNA(x)', 'mean(x)', 'sd(x)'),
40
# Nombres de estadísticos
41
summ.names = c("Observaciones", "Promedio", "Desv. estandar"),
42
# Título
43
title = "Resumen estadístico",
44
# Nota
45
note = "Fuente: Estimaciones propias en base a datos mss_repdata.dta",
46
# Exportamos
47
file='resumen_descriptivo.tex', out = 'latex')
48
#---------------------------- 1.2. Regresiones ------------------------------------
49
50
#install.packages("lfe")
51
library(lfe)
52
## Primera dependiente
53
twfe_1 <- felm(any_prio ~ GPCP_g + GPCP_g_l -1 |
54
# Efectos fijos
55
year + ccode |
56
# No incluimos variable instrumental
57
0 |
58
# Cluster
59
ccode, data)
60
## Segunda dependiente
61
twfe_2 <- felm(war_prio ~ GPCP_g + GPCP_g_l -1 |
62
# Efectos fijos
63
year + ccode |
64
# No incluimos variable instrumental
65
0 |
66
# Cluster
67
ccode, data)
68
69
#install.packages("texreg")
70
library("texreg")
71
72
# Resumimos los resultados según la tabla 3 y exportamos
73
74
texreg(
75
# Lista con regresiones calculadas
76
list(twfe_1,twfe_2),
77
# Exportamos en formato
78
file = "rainfall_table.tex",
79
doctype = TRUE,
80
# Formato de reporte
81
digits = 3,
82
stars = c(0.01, 0.05, 0.10),
83
# Nombre de explicativas
84
custom.coef.names = c("Growth in rainfall, $t$",
85
"Growth in rainfall, $t-1$"),
86
# Nombre de dependientes
87
custom.model.names = c("Civil Conflict $geq$ 25 Deaths",
88
"Civil Conflict $geq$ 1,000 Deaths"),
89
# Añadimos notas de uso de efectos fijos y el RMS
90
custom.gof.rows=list(
91
"Country fixed effects" = c("yes", "yes"),
92
"Country-specific time trends" = c("yes", "yes"),
93
"Root Mean Square" = c(sqrt(mean(twfe_1$residuals^2)),
94
sqrt(mean(twfe_2$residuals^2)))),
95
# Seleccionamos los estadísticos de reporte a usar
96
include.adjrs = F,
97
include.proj.stats = F,
98
include.groups = F,
99
include.nobs = T,
100
# Nota personalizada
101
custom.note = paste("\\item[$\\bullet$] Note. — Huber robust standard errors are in parentheses. Regression disturbance terms are clustered at the country level. A country-specific year time trend is included in all specifications (coefficient estimates not reported).",
102
"$*$ Significantly different from zero at 90 percent.",
103
"$**$ Significantly different from zero at 95 percent.",
104
"$***$ Significantly different from zero at 99 percent."),
105
# Título personalizado
106
custom.title = "Rainfall and Civil Conflict (Reduced-Form)",
107
single.row = TRUE,
108
threeparttable = TRUE)
109
#---------------------------- 1.3. Plot de coeficientes ------------------------------------
110
# Realizamos el gráfico con la información correspondiente del beta de interés
111
plotreg(
112
# Lista de regresiones
113
list(twfe_1,twfe_2),
114
# Nombre de la variable a omitir
115
omit.coef=c('Growth in rainfall, t-1'),
116
# Ponemos los nombres
117
custom.coef.names = c("Growth in rainfall, t",
118
"Growth in rainfall, t-1"),
119
# Título de los modelos
120
custom.model.names = c("Moldel 1",
121
"Model 2"),
122
# Opción para recibir todo en una sola viñeta
123
type="forest",
124
# Personalización del label
125
custom.title="Impacto de GPCP_g por modelo",
126
custom.note = "Coeficiente en color azul, intervarlo de confianza en celeste")
127
# Exportamos
128
ggsave("plot_coef.png",
129
width = 18, height = 10, units = "cm")
130
131
#--------------------- Pregunta georeferencia ------------------------------
132
#install.packages("rgdal")
133
#install.packages("rgeos")
134
#install.packages("ggmap")
135
#install.packages("ggplot2")
136
library(ggplot2) # Gráficos
137
library(rgdal) # Leer shapefiles
138
library(ggmap) # Shapefiles y ggplot
139
library(rgeos) # Manipulación de shapefiles
140
141
# Cargamos los shape file de norte, sur y centro y los convertimos base de datos
142
HL <- readOGR("1_Data/huan_line.shp")
143
HL <- fortify(HL)
144
PT <- readOGR("1_Data/pot_line.shp")
145
PT <- fortify(PT)
146
MITA <- readOGR("1_Data/MitaBoundary.shp")
147
MITA <- fortify(MITA)
148
149
# Representamos en el gráfico la información
150
ggplot() +
151
# Base norte
152
geom_polygon(data = HL, aes(x=long, lat))+
153
# Base sur
154
geom_polygon(data = PT, aes(x=long, lat))+
155
#geom_polygon(data = MITA, aes(x=long, lat))+
156
# Personalización
157
theme_void()+ ggtitle("Mita Boundary")
158
# Exportamos
159
ggsave("3_Plots/plot_MITA.png",
160
width = 18, height = 10, units = "cm")
161
162