Capítulo 2 Seminario 2
2.1 Población Asutrias y Andalucía 2018
Cargamos los datos (copy-paste de los números del pdf a un archivo txt):
data <- read.csv('../../data/pa02_b.txt', header = F, sep=' ')
names(data) <- c("AsPob", "AsTM.1000", "AnPob", "AnTM.1000")
head(data)## AsPob AsTM.1000 AnPob AnTM.1000
## 1 5898 2.38 71786 2.96
## 2 26394 0.04 325573 0.14
## 3 39780 0.07 458861 0.08
## 4 40615 0.12 486277 0.08
## 5 38187 0.13 449254 0.17
## 6 38126 0.29 442122 0.29
De esta manera podemos calcular la Tasa de mortalidad de Andalucía y Asturias, y a partir de ahí los fallecidos por rango de edad. Aprovechamos para calcualr los totales:
data <- within(data, {
AnTM <- AnTM.1000 /1000
AsTM <- AsTM.1000 /1000
AnFall <- round(AnPob * AnTM)
AsFall <- round(AsPob * AsTM)
})
totals <- colSums(data) # if no all data is numeric FIlter(is.numeric, data)
data <- rbind(data, totals)Ahora falta por añadir los datos de la segunda tabla (como son menos todavía los pego directamente en R pasando previamente por Notepad para eliminar los puntos):
tab02 <- "2400 1600
9600 6400
10000 7000
9000 7000
9000 7000
8000 7000
8000 7000
6000 7000
6000 7000
6000 7000
6000 7000
5000 7000
4000 6000
4000 5000
3000 4000
2000 3000
1000 2000
500 1000
500 1000"
tab02 <- read.table(text=tab02, header=F, sep=" ")
tab02$V1 <- as.numeric(tab02$V1)
tab02$V2 <- as.numeric(tab02$V2)
tab02 <- rbind(tab02, colSums(tab02))
data$MuPob <- tab02$V1
data$EuPob <- tab02$V2
rm(ls=tab02)Comprobamos todo:
head(data)## AsPob AsTM.1000 AnPob AnTM.1000 AsFall AnFall AsTM AnTM MuPob EuPob
## 1 5898 2.38 71786 2.96 14 212 0.00238 0.00296 2400 1600
## 2 26394 0.04 325573 0.14 1 46 0.00004 0.00014 9600 6400
## 3 39780 0.07 458861 0.08 3 37 0.00007 0.00008 10000 7000
## 4 40615 0.12 486277 0.08 5 39 0.00012 0.00008 9000 7000
## 5 38187 0.13 449254 0.17 5 76 0.00013 0.00017 9000 7000
## 6 38126 0.29 442122 0.29 11 128 0.00029 0.00029 8000 7000
# View(data) para abrir el df en una vetnanaCargar los datos de manera apropiada siempre es lo que más tiempo lleva (y generalmente lo que traemás complicaciones). Ahora podemos empezar el formulario.
En las primeras preguntas piden la Tasa bruta, simplemente:
# En Asturias
data[20, "AsFall"] /data[20, "AsPob"] * 1000## [1] 12.85982
#En Andalucía:
data[20, "AnFall"] /data[20, "AnPob"] * 1000## [1] 8.586119
Para las tasas ajustadas, creo otro df más sencillo para evitar líos:
df <- data[c("AsPob", "AsTM", "AnPob", "AnTM", "MuPob", "EuPob")]
df <- df[-20, ]
df$FallEuEstAs <- round(df$EuPob * df$AsTM) # estimate deceases
df$FallEuEstAn <- round(df$EuPob * df$AnTM) # estimate deceases
totals <- colSums(df)
df <-rbind(df, totals)
df$EuTM.1000EstAs <- df$FallEuEstAs * 1000 / df$EuPob # calculate rate
df$EuTM.1000EstAn <- df$FallEuEstAn * 1000 / df$EuPob # calculate rate
df[20, c("EuTM.1000EstAs", "EuTM.1000EstAn")] # log result## EuTM.1000EstAs EuTM.1000EstAn
## 20 4.62 4.96