Capítulo 3 Seminario 4

3.1 Enunciado 1

Cargamos los datos:

df01 <- data.frame(Sexo=c("Hombres", "Mujeres"), Total=c(11900, 10500), Montaje=c(1200, 980), TumMontaje=c(25,17))
df01 <- rbind(df01, c("Ambos", sum(df01$Total), sum(df01$Montaje), sum(df01$TumMontaje)))

Y empezamos el formulario:

(as.numeric(df01$Total)-as.numeric(df01$Montaje))/as.numeric(df01$Total)
## [1] 0.8991597 0.9066667 0.9026786

El resto de valores se pueden calcular de manera manual porque es más sencillo.

3.2 Enunciado 2

Cargamos los datos:

df02 <- data.frame(Sexo=c("Hombres", "Mujeres"), Total=c(240, 360), Enfermos=c(43, 57))
df02 <- rbind(df02, c("Ambos", sum(df02$Total), sum(df02$Enfermos)))

No hace falta hacer nada con R.

3.3 Enunciado 3

3.3.1 Limpiar los datos

Desde el INE exporto los datos a CSV y los ajusto con python:

import csv
row_data = []
all_data = []
with open("10803c.csv") as f:
    n = 0
    for l in f:
        if n == 0:
            row_data.append(l.split(",")[0])
        if n == 3:
            row_data.append(l.split(",")[1].replace(".", ""))
        if n == 4:
            row_data.append(l.split(",")[2].replace(".", "").replace("\n", ""))
            print(l.split(","))
            all_data.append(row_data)
            row_data = []
            n = 0
        else:
            n += 1
with open('pa4_ej03.csv', 'w') as file:
    mywriter = csv.writer(file, delimiter=',')
    mywriter.writerows(all_data)

El resultado es este enlace.

3.3.2 Cargar los datos

df03 <- read.csv("../../data/pa4_ej03.csv", header = F)
names(df03) <- c("Causa", "Esp", "As")

3.3.3 Cálculos

# cardiovascular ast
df03[60,3]/1028244* # pob Esp a 1jul2018
    100000
## [1] 377.5368
# cáncer ast
df03[11,3]/1028244*100000
## [1] 354.0988

Los otros dos los hice directamente en el visor del INE.