-
Notifications
You must be signed in to change notification settings - Fork 0
/
28anos.R
261 lines (177 loc) · 10.8 KB
/
28anos.R
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
library(plotly)
library(ggplot2)
library(readxl)
library(tidyverse)
library(shiny)
library(DT)
library(flexdashboard)
library(reshape2)
library(htmlwidgets)
datos <- read_excel("data/IHME-GBD_DATA.xlsx")
names(datos)
muertesviolentas <- datos %>% group_by_(.dots = list("measure_name", "location_name", "year" )) %>%
summarise(Rate_lower = sum(lower), Rate_val = sum(val), Rate_upper = sum(upper)) %>% select( "measure_name", "location_name" , "year", "Rate_val","Rate_lower" , "Rate_upper") %>% arrange(desc(location_name))
muertesviolentas
# write.xlsx(data.frame(muertesviolentas), file= "muertesviolentas.xlsx", sheetName = "Hoja1")
paises <- NULL
for (i in unique(muertesviolentas$location_name)) {
pais <- c(i, t(muertesviolentas[muertesviolentas$location_name == i, 4]))
paises <- as.tibble(rbind(paises, pais))
}
colnames(paises) <- c("País", t(muertesviolentas[muertesviolentas$location_name == i, 3]) )
media.nacional <- NULL
for (i in 1990:2017) {
mediaaño <- mean(sapply(select (paises, contains (paste0(i))), as.numeric, 2), na.rm = T)
media.nacional <- rbind(media.nacional, mediaaño)
}
desv.nacional <- NULL
for(i in 1990:2017){
sdaño <- sd(sapply(select (paises, contains (paste0(i))), as.numeric, 2), na.rm = T)
desv.nacional <- rbind(desv.nacional, sdaño)
}
años <- 1990:2017
datosnal <- data_frame(años, media.nacional, desv.nacional)
colnames(datosnal) <- c("year", "media.nacional", "sd.nacional")
if (1994 %in% datosnal$year){
datosnal$sd.nacional[datosnal$year == 1994,] <- (datosnal$sd.nacional[datosnal$year == 1995,] + datosnal$sd.nacional[datosnal$year == 1996,])/2
datosnal$media.nacional[datosnal$year == 1994,] <- (datosnal$media.nacional[datosnal$year == 1995,] + datosnal$media.nacional[datosnal$year == 1996,])/2
}
if (1999 %in% datosnal$year){
datosnal$sd.nacional[datosnal$year == 1999,] <- (datosnal$sd.nacional[datosnal$year == 1998,] + datosnal$sd.nacional[datosnal$year == 2000,])/2
}
if (2011 %in% datosnal$year){
datosnal$sd.nacional[datosnal$year == 2011,] <- (datosnal$sd.nacional[datosnal$year == 2010,] + datosnal$sd.nacional[datosnal$year == 2012,])/2
}
longitud <- length(seq(1990,2017, by = 1))
if(6 <= longitud ){
mediaquinquenio1 <- apply(sapply(paises[,-1], as.numeric, 1)[,(1+(1990-1990)):((6-1)+(1990-1990))], 1, mean, na.rm=T)
}
if(6 <= longitud){
media.municipal <- NULL
for(i in ((6+1)+(1990-1990)):(longitud+(1990-1990))){
mediaquinquenio <- apply(sapply(paises[,-1], as.numeric, 1)[,(i-(6-1)):i-1], 1, mean, na.rm=T)
media.municipal <- cbind(media.municipal, mediaquinquenio)
}
}else{
media.municipal <- NULL
}
if(6 <= longitud){
constante <- matrix(rep(mediaquinquenio1), ncol=6, nrow=195)
}else{
constante <-NULL
}
if(6 <= longitud){
media.movil <- cbind(constante,media.municipal)
colnames(media.movil) <- años
rownames(media.movil) <- paises$País
}
if(6 <= longitud){
sdquinquenio1 <- apply(sapply(paises[,-1], as.numeric, 1)[,1:6-1], 1, sd, na.rm=T)
}else{
sdquinquenio1 <- NULL
}
if(6 <= longitud){
sd.municipal <- NULL
for(i in ((6+1)+(1990-1990)):(longitud+(1990-1990))){
sdquinquenio <- apply(sapply(paises[,-1], as.numeric, 1)[,(i-(6-1)):i-1], 1, sd, na.rm=T)
sd.municipal <- cbind(sd.municipal, sdquinquenio)
}
}else{
sd.municipal <- NULL
}
if(6 <= longitud){
constante2 <- matrix(rep(sdquinquenio1), ncol=6, nrow=195)
}else{
constante2 <- NULL
}
if(6 <= longitud){
sd.movil <- cbind(constante2,sd.municipal)
rownames(sd.movil) <- paises$País
colnames(sd.movil) <- años
}
salvador <- data.frame(rep(paises[paises$País== "El Salvador",]$País,longitud), x = datosnal$year, y=datosnal$media.nacional,
mun= as.numeric(t(paises[paises$País == "El Salvador", (2+ (1990-1990) ):(2+(1990-1990) + longitud-1)])),
upper3 = datosnal$media.nacional+3*datosnal$sd.nacional,
upper2 = datosnal$media.nacional+2*datosnal$sd.nacional,
upper = datosnal$media.nacional+datosnal$sd.nacional,
lower= datosnal$media.nacional-datosnal$sd.nacional,
movil= media.movil[rownames(media.movil) == "El Salvador",],
sdmovil =sd.movil[rownames(sd.movil) == "El Salvador",]
)
colnames( salvador) <- c("País", "Año", "Tasa", "Tasa_El_Salvador", "más_3_desv.","más_2_desv.", "más_1_desv.","menos_1_desv.", "Movil", "SDMovil")
colombia <- data.frame(rep(paises[paises$País== "Colombia",]$País,longitud), x = datosnal$year, y=datosnal$media.nacional,
mun= as.numeric(t(paises[paises$País == "Colombia", (2+ (1990-1990) ):(2+(1990-1990) + longitud-1)])),
upper3 = datosnal$media.nacional+3*datosnal$sd.nacional,
upper2 = datosnal$media.nacional+2*datosnal$sd.nacional,
upper = datosnal$media.nacional+datosnal$sd.nacional,
lower= datosnal$media.nacional-datosnal$sd.nacional,
movil= media.movil[rownames(media.movil) == "Colombia",],
sdmovil =sd.movil[rownames(sd.movil) == "Colombia",]
)
colnames( colombia) <- c("País", "Año", "Tasa", "Tasa_Colombia", "más_3_desv.","más_2_desv.", "más_1_desv.","menos_1_desv.", "Movil", "SDMovil")
rwanda <- data.frame(rep(paises[paises$País== "Rwanda",]$País,longitud), x = datosnal$year, y=datosnal$media.nacional,
mun= as.numeric(t(paises[paises$País == "Rwanda", (2+ (1990-1990) ):(2+(1990-1990) + longitud-1)])),
upper3 = datosnal$media.nacional+3*datosnal$sd.nacional,
upper2 = datosnal$media.nacional+2*datosnal$sd.nacional,
upper = datosnal$media.nacional+datosnal$sd.nacional,
lower= datosnal$media.nacional-datosnal$sd.nacional,
movil= media.movil[rownames(media.movil) == "Rwanda",],
sdmovil =sd.movil[rownames(sd.movil) == "Rwanda",]
)
colnames( rwanda) <- c("País", "Año", "Tasa", "Tasa_Rwanda", "más_3_desv.","más_2_desv.", "más_1_desv.","menos_1_desv.", "Movil", "SDMovil")
syria <- data.frame(rep(paises[paises$País== "Syria",]$País,longitud), x = datosnal$year, y=datosnal$media.nacional,
mun= as.numeric(t(paises[paises$País == "Syria", (2+ (1990-1990) ):(2+(1990-1990) + longitud-1)])),
upper3 = datosnal$media.nacional+3*datosnal$sd.nacional,
upper2 = datosnal$media.nacional+2*datosnal$sd.nacional,
upper = datosnal$media.nacional+datosnal$sd.nacional,
lower= datosnal$media.nacional-datosnal$sd.nacional,
movil= media.movil[rownames(media.movil) == "Syria",],
sdmovil =sd.movil[rownames(sd.movil) == "Syria",]
)
colnames( syria) <- c("País", "Año", "Tasa", "Tasa_Syria", "más_3_desv.","más_2_desv.", "más_1_desv.","menos_1_desv.", "Movil", "SDMovil")
afganistan <- data.frame(rep(paises[paises$País== "Afghanistan",]$País,longitud), x = datosnal$year, y=datosnal$media.nacional,
mun= as.numeric(t(paises[paises$País == "Afghanistan", (2+ (1990-1990) ):(2+(1990-1990) + longitud-1)])),
upper3 = datosnal$media.nacional+3*datosnal$sd.nacional,
upper2 = datosnal$media.nacional+2*datosnal$sd.nacional,
upper = datosnal$media.nacional+datosnal$sd.nacional,
lower= datosnal$media.nacional-datosnal$sd.nacional,
movil= media.movil[rownames(media.movil) == "Afghanistan",],
sdmovil =sd.movil[rownames(sd.movil) == "Afghanistan",]
)
colnames( afganistan) <- c("País", "Año", "Tasa", "Tasa_Afghanistan", "más_3_desv.","más_2_desv.", "más_1_desv.","menos_1_desv.", "Movil", "SDMovil")
venezuela <- data.frame(rep(paises[paises$País== "Venezuela",]$País,longitud), x = datosnal$year, y=datosnal$media.nacional,
mun= as.numeric(t(paises[paises$País == "Venezuela", (2+ (1990-1990) ):(2+(1990-1990) + longitud-1)])),
upper3 = datosnal$media.nacional+3*datosnal$sd.nacional,
upper2 = datosnal$media.nacional+2*datosnal$sd.nacional,
upper = datosnal$media.nacional+datosnal$sd.nacional,
lower= datosnal$media.nacional-datosnal$sd.nacional,
movil= media.movil[rownames(media.movil) == "Venezuela",],
sdmovil =sd.movil[rownames(sd.movil) == "Venezuela",]
)
colnames( venezuela) <- c("País", "Año", "Tasa", "Tasa_Venezuela", "más_3_desv.","más_2_desv.", "más_1_desv.","menos_1_desv.", "Movil", "SDMovil")
# colnames(venezuela) <- c("País", "Año", "Tasa", "Tasa", "más_3_desv.","más_2_desv.", "más_1_desv.","menos_1_desv.", "Movil", "SDMovil")
# colnames(colombia) <- c("País", "Año", "Tasa", "Tasa", "más_3_desv.","más_2_desv.", "más_1_desv.","menos_1_desv.", "Movil", "SDMovil")
# colnames(salvador) <- c("País", "Año", "Tasa", "Tasa", "más_3_desv.","más_2_desv.", "más_1_desv.","menos_1_desv.", "Movil", "SDMovil")
# colnames(iraq) <- c("País", "Año", "Tasa", "Tasa", "más_3_desv.","más_2_desv.", "más_1_desv.","menos_1_desv.", "Movil", "SDMovil")
# colnames(afganistan) <- c("País", "Año", "Tasa", "Tasa", "más_3_desv.","más_2_desv.", "más_1_desv.","menos_1_desv.", "Movil", "SDMovil")
allcountries <- data_frame(venezuela$Año, venezuela$Tasa, venezuela$Tasa_Venezuela, afganistan$Tasa_Afghanistan, colombia$Tasa_Colombia, salvador$Tasa_El_Salvador, rwanda$Tasa_Rwanda, syria$Tasa_Syria)
colnames( allcountries) <- c("Ano","Tasa_Promedio", "Venezuela", "Afghanistan", "Colombia", "El_Salvador", "Rwanda", "Siria" )
dd = melt(allcountries, id=c("Ano"))
colnames(dd) <- c("Año","País", "Tasa")
p <- ggplot(data = dd) + geom_line(aes(x= Año, y=Tasa, colour = País)) +
geom_ribbon(data= venezuela, aes(ymin=más_2_desv., ymax=más_3_desv., x=Año), alpha = 0.3 , fill = "red")+
geom_ribbon(data= venezuela, aes(ymin=más_1_desv., ymax=más_2_desv., x=Año), alpha = 0.3, fill = "orange")+
geom_ribbon(data= venezuela, aes(ymin=Tasa, ymax=más_1_desv., x=Año) ,alpha = 0.3, , fill = "yellow")+
geom_ribbon(data= venezuela, aes(ymin=menos_1_desv., ymax=Tasa, x=Año), fill = "green" ,alpha = 0.3)+
ggtitle(paste0("Países con violencia crónica o aguda en los últimos 28 años")) +
theme(axis.text.x = element_text(face="bold", color="#993333",
size=10, angle=40),
axis.text.y = element_text(face="bold", color="#993333",
size=10))+
scale_x_discrete(name ="Año",
limits= años)+
scale_y_continuous(name ="Tasa de muertes violentas",
breaks= seq(0, max(dd$Tasa), 300))
p <- ggplotly(p)
p
saveWidget(p, "Violencia_28_anos.html")