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 vetnana

Cargar 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