Permalink
Switch branches/tags
Nothing to show
Find file Copy path
Fetching contributors…
Cannot retrieve contributors at this time
201 lines (170 sloc) 6.93 KB
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)
```