-
Notifications
You must be signed in to change notification settings - Fork 10
/
municipios-altos-homicidios.Rmd
200 lines (170 loc) · 6.93 KB
/
municipios-altos-homicidios.Rmd
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
Listas de Municipios con Altos Homicidios
========================================================
```{r}
library(plyr)
library(ggplot2)
library(Hmisc)
library(reshape)
```
```{r}
load("./data/homicidios.1990.a.2013.Rda")
```
```{r}
lastnchar <- function(x, n){
ch <- as.character(x)
substr(ch, nchar(ch)-n+1, nchar(ch))
}
```
```{r}
toptas <- vector(mode = "list", length = 24)
for(i in 1990:2013){
sufijo <- lastnchar(i, 2)
tascol <- paste("tas", sufijo, sep="")
relcol <- c("cod", "municipio", "departamento", tascol)
tempdf <- h.df[, relcol]
tempdf <- tempdf[order(-tempdf[tascol]),]
names(tempdf) <- c(paste("cod", sufijo, sep=""), paste("mun", sufijo, sep=""), paste("dep", sufijo, sep=""), tascol)
toptas[[i-1989]] <- tempdf[1:50,]
}
tophom <- vector(mode = "list", length = 24)
for(i in 1990:2013){
sufijo <- lastnchar(i, 2)
homcol <- paste("hom", sufijo, sep="")
relcol <- c("cod", "municipio", "departamento", homcol)
tempdf <- h.df[, relcol]
tempdf <- tempdf[order(-tempdf[homcol]),]
names(tempdf) <- c(paste("cod", sufijo, sep=""), paste("mun", sufijo, sep=""), paste("dep", sufijo, sep=""), homcol)
tophom[[i-1989]] <- tempdf[1:50,]
}
violentos <- vector(mode="list", length=24)
for(i in 1990:2013){
j <- i-1989
sufijo <- lastnchar(i, 2)
codcol <- paste("cod", sufijo, sep="")
violentos[[j]] <- h.df[h.df$cod %in% intersect(toptas[[j]][, codcol], tophom[[j]][, codcol]), c("cod", "municipio", "departamento")]
}
```
```{r}
porcentajehoms <- vector(mode="list", length=24)
for(i in 1990:2013){
j <- i-1989
sufijo <- lastnchar(i, 2)
homcol <- paste("hom", sufijo, sep="")
codcol <- paste("cod", sufijo, sep="")
pobcol <- paste("pob", sufijo, sep="")
homs.totales <- sum(h.df[, homcol], na.rm=T)
homs.toptas <- sum(h.df[h.df$cod %in% toptas[[j]][, codcol], homcol], na.rm=T)
homs.tophom <- sum(h.df[h.df$cod %in% tophom[[j]][, codcol], homcol], na.rm=T)
homs.violentos <- sum(h.df[h.df$cod %in% violentos[[j]]$cod, homcol], na.rm=T)
len.violentos <- nrow(violentos[[j]])
pob.total <- sum(h.df[, pobcol], na.rm=T)
pob.violentos <- sum(h.df[h.df$cod %in% violentos[[j]]$cod ,pobcol], na.rm=T)
pob.toptas <- sum(h.df[h.df$cod %in% toptas[[j]][, codcol] ,pobcol], na.rm=T)
porcentajehoms[[j]] <- data.frame( año = 1989+j, porcentaje.tophom = 100 * (homs.tophom/homs.totales), porc.hom.toptas = 100 * (homs.toptas/homs.totales), porc.pob.toptas = 100*(pob.toptas/pob.total), porc.hom.vio = 100 * (homs.violentos/homs.totales), porc.pob.vio = 100 * (pob.violentos / pob.total), cuantos.vio = len.violentos)
}
tablaporcentajes.df <- do.call(rbind,lapply(1:24, function(i)
if (length(porcentajehoms[[i]]) > 1)
cbind(porcentajehoms[[i]],session=i) ))
drops <- c("session")
tablaporcentajes.df <- tablaporcentajes.df[,!(names(tablaporcentajes.df) %in% drops)]
```
```{r}
tablaporcentajes.df
```
```{r}
lasppales <- h.df$cod[h.df$municipio %in% c("Medellín", "Cali", "Barranquilla", "Bogotá D.C.")]
porcentajeppales <- vector(mode="list", length=24)
for(i in 1990:2013){
j <- i-1989
sufijo <- lastnchar(i, 2)
homcol <- paste("hom", sufijo, sep="")
pobcol <- paste("pob", sufijo, sep="")
codcol <- paste("cod", sufijo, sep="")
homs.totales <- sum(h.df[, homcol], na.rm=T)
pob.total <- sum(h.df[, pobcol], na.rm=T)
pob.principales <- sum(h.df[h.df$cod %in% lasppales ,pobcol], na.rm=T)
homs.principales <- sum(h.df[h.df$cod %in% lasppales, homcol], na.rm=T)
porcentajeppales[[j]] <- data.frame( año = 1989+j, porcentaje.homicidios.ppales = 100 * (homs.principales/homs.totales), porcentaje.poblacion.ppales = 100 * (pob.principales/pob.total))
}
tablappales.df <- do.call(rbind,lapply(1:24, function(i)
if (length(porcentajeppales[[i]]) > 1)
cbind(porcentajeppales[[i]],session=i) ))
drops <- c("session")
tablappales.df <- tablappales.df[,!(names(tablappales.df) %in% drops)]
```
```{r}
for(i in 1:24){
write(paste("Año", i+1989, sep=" "), file="")
print(violentos[[i]][,c("municipio", "departamento")], row.names=FALSE)
}
```
```{r}
columnas.tas = c()
columnas.hom = c()
columnas.pob = c()
for(i in 1990:2013){
sufijo <- lastnchar(i, 2)
columnas.hom = c(columnas.hom, paste("hom", sufijo, sep=""))
columnas.pob = c(columnas.pob, paste("pob", sufijo, sep=""))
columnas.tas = c(columnas.tas, paste("tas", sufijo, sep=""))
}
```
```{r}
tasaciudad <- function(ciudad){
historia.tas <- h.df[h.df$municipio == ciudad, columnas.tas]
historia.tas <- as.numeric(historia.tas)
return(historia.tas)
}
```
```{r}
plot.tasa.ciudad <- function(ciudad){
tasas <- tasaciudad(ciudad)
df <- data.frame(yr=1990:2013, tasa = tasas)
p <- ggplot(df, aes(x=yr, y=tasa)) +
geom_bar(stat="identity", fill="dodgerblue") +
xlab("Año") +
ylab("Tasa de homicidios (por cada 100k habitantes)") +
ggtitle(paste("Tasa de homicidios de", ciudad, "(1990-2013)", sep=" "))
return(p)
}
```
```{r}
v <- h.df[, columnas.hom]
p <- colSums(h.df[, columnas.pob], na.rm=T)
s <- colSums(v, na.rm = T)
col <- c(1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,6,6,6,6,7,7,7)
d <- data.frame(year = 1990:2013, homs = s, col=col, pob = p)
d$tas <- 100000 * (d$homs/d$pob)
d$col <- as.factor(d$col)
# a <- ggplot(d, aes(x=year, y=homs)) +geom_bar(fill="orange", stat="identity") + xlab("Año") + ylab("Número de homicidios")
# a
b <- ggplot(d, aes(x=year, y=tas, fill=col)) +geom_bar(stat="identity") + xlab("Año") + ylab("Tasa de homicidios") + ggtitle("Tasa de homicidios (1990-2013)") + scale_fill_discrete(name="Presidencia", labels = c("Barco", "Gaviria", "Samper", "Pastrana", "Uribe 1", "Uribe 2", "Santos"))
b
```
```{r}
a = 2
x = toptas[[24-a]][, 1]
for(i in (24-a+1):24){
x = intersect(x, toptas[[i]][, 1])
}
h.df[h.df$cod %in% x, c("municipio", "departamento")]
```
```{r}
bog <- h.df[h.df$municipio == "Bogotá D.C.", columnas.tas]
bog <- as.numeric(bog)
med <- h.df[h.df$municipio == "Medellín", columnas.tas]
med <- as.numeric(med)
cal <- h.df[h.df$municipio == "Cali", columnas.tas]
cal <- as.numeric(cal)
man <- h.df[h.df$municipio == "Manizales", columnas.tas]
man <- as.numeric(man)
buc <- h.df[h.df$municipio == "Bucaramanga", columnas.tas]
buc <- as.numeric(buc)
bar <- h.df[h.df$municipio == "Barranquilla", columnas.tas]
bar <- as.numeric(bar)
grupo.df <- data.frame(yr = 1990:2013, tasam = med, tasab = bog, tasac = cal, tasaman = man, tasabuc = buc, tasabar = bar)
melt.total.df = melt(grupo.df[,c("yr", "tasab", "tasam", "tasac", "tasaman", "tasabuc", "tasabar")], id.vars=1)
p_total<- ggplot(melt.total.df, aes(x=yr, y=value)) + geom_bar(aes(fill=variable), position = "dodge", stat="identity") + scale_fill_discrete(name = "Ciudad", labels = c("Bogotá", "Medellín", "Cali", "Manizales", "Bucaramanga", "Barranquilla")) + xlab("Año") + ylab("Tasa de homicidios") + ggtitle("Tasas de homicidios de \nBogotá, Medellín, Cali, Manizales, Bucaramanga y Barranquilla (1990-2013)")
p_total
ggsave("cincotasas.png", p_total, width=15, height=5)
```