Lesctura de datos

datos<- read.csv(file = "Estado_nutricional_de_la_poblaci_n_menor_de_6_a_os_-_Municipio_de_Medell_n_2016.csv",encoding = "UTF-8")

Conversión formato .Rdata

# Conversión 

save(datos, file = "Nutricion.Rdata")
# Cargando tados en formato .Rdata

load("Nutricion.Rdata")
# Estructura interna de los datos

str(datos)
## 'data.frame':    83861 obs. of  15 variables:
##  $ Regimen         : Factor w/ 4 levels "Contributivo",..: 3 1 1 1 1 1 1 1 1 1 ...
##  $ EPS             : Factor w/ 23 levels "ALIANSALUD","CAFESALUD EPS",..: 16 12 12 12 12 12 11 15 12 12 ...
##  $ Sexo            : Factor w/ 2 levels "F","M": 2 1 2 2 1 2 2 2 2 1 ...
##  $ Peso            : num  11.4 11.9 14.2 19.3 8.4 9.3 13.9 11.2 8.4 8.5 ...
##  $ Estatura        : num  79 86.5 91.5 101 72 74 97.5 89 66.5 74.6 ...
##  $ DS.P.E          : num  0.04 0.75 1.58 2.97 -0.55 0.03 -1.87 -1.52 -0.17 -1.36 ...
##  $ Denominación.P.E: Factor w/ 5 levels "Peso adecuado para la edad",..: 1 1 4 4 1 1 5 5 1 5 ...
##  $ DS.T.E          : num  -1.85 1.11 1.82 2.33 -0.85 0.08 -2.22 -0.96 -1.52 -1.62 ...
##  $ Denominación.T.E: Factor w/ 4 levels "Estatura adecuada para la edad",..: 4 1 1 1 1 1 2 1 4 4 ...
##  $ DS.P.T          : num  1.24 0.17 0.91 2.45 -0.22 0 -0.79 -1.55 0.99 -0.83 ...
##  $ Denominación.P.T: Factor w/ 9 levels "Adecuado para la edad",..: 9 4 4 3 4 4 4 7 4 4 ...
##  $ Comuna          : Factor w/ 22 levels "Altavista","Aranjuez",..: 15 9 8 3 4 17 7 4 9 18 ...
##  $ Zona            : Factor w/ 8 levels "Centro Occidental",..: 4 1 7 7 2 3 8 2 1 1 ...
##  $ Edad_en_dias    : int  641 684 721 980 408 350 1754 967 283 544 ...
##  $ Grupo.Edad      : Factor w/ 3 levels "1. De 0 a 2 Anos",..: 1 1 1 2 1 1 2 2 1 1 ...

Seleccionando columnas con select()

library(dplyr)
## Warning: package 'dplyr' was built under R version 3.4.4
library(ggplot2)
## Warning: package 'ggplot2' was built under R version 3.4.4
datos2 <- datos %>% 
  select(-c(Regimen, EPS, Grupo.Edad))

-Editando nombres

names(datos2) <- c ("Sexo", "Peso", "Estatura" , "DSPE" , "DPE" , "DSTE", "DTE", "DSTP", "DPT", "Comuna", "Zona", "Edad")

str(datos2)
## 'data.frame':    83861 obs. of  12 variables:
##  $ Sexo    : Factor w/ 2 levels "F","M": 2 1 2 2 1 2 2 2 2 1 ...
##  $ Peso    : num  11.4 11.9 14.2 19.3 8.4 9.3 13.9 11.2 8.4 8.5 ...
##  $ Estatura: num  79 86.5 91.5 101 72 74 97.5 89 66.5 74.6 ...
##  $ DSPE    : num  0.04 0.75 1.58 2.97 -0.55 0.03 -1.87 -1.52 -0.17 -1.36 ...
##  $ DPE     : Factor w/ 5 levels "Peso adecuado para la edad",..: 1 1 4 4 1 1 5 5 1 5 ...
##  $ DSTE    : num  -1.85 1.11 1.82 2.33 -0.85 0.08 -2.22 -0.96 -1.52 -1.62 ...
##  $ DTE     : Factor w/ 4 levels "Estatura adecuada para la edad",..: 4 1 1 1 1 1 2 1 4 4 ...
##  $ DSTP    : num  1.24 0.17 0.91 2.45 -0.22 0 -0.79 -1.55 0.99 -0.83 ...
##  $ DPT     : Factor w/ 9 levels "Adecuado para la edad",..: 9 4 4 3 4 4 4 7 4 4 ...
##  $ Comuna  : Factor w/ 22 levels "Altavista","Aranjuez",..: 15 9 8 3 4 17 7 4 9 18 ...
##  $ Zona    : Factor w/ 8 levels "Centro Occidental",..: 4 1 7 7 2 3 8 2 1 1 ...
##  $ Edad    : int  641 684 721 980 408 350 1754 967 283 544 ...

Modificando niveles de factores mutate()

datos3 <- datos2 %>% 
  mutate(Sexo = factor(Sexo, labels = c("Femenino", "Masculino")), 
         DPE = factor(DPE, labels = c("Peso adecuado", "Peso bajo", "Peso muy bajo", "Encima de 1 DE","Riesgo peso bajo")),
         DTE = factor(DTE, labels = c("Estatura adecuada", "Retraso en talla", "Muy alto" ,"Riesgo E. baja")),
                      DPT = factor(DPT, labels = c("Adecuado-Edad","Delgado" , "Obeso" ,"Adecuado-Estatura","D.Aguda", "D. Severa", "R. peso bajo", "R. Delgadez","Sobrepeso")))
## Warning: package 'bindrcpp' was built under R version 3.4.4
str(datos3)
## 'data.frame':    83861 obs. of  12 variables:
##  $ Sexo    : Factor w/ 2 levels "Femenino","Masculino": 2 1 2 2 1 2 2 2 2 1 ...
##  $ Peso    : num  11.4 11.9 14.2 19.3 8.4 9.3 13.9 11.2 8.4 8.5 ...
##  $ Estatura: num  79 86.5 91.5 101 72 74 97.5 89 66.5 74.6 ...
##  $ DSPE    : num  0.04 0.75 1.58 2.97 -0.55 0.03 -1.87 -1.52 -0.17 -1.36 ...
##  $ DPE     : Factor w/ 5 levels "Peso adecuado",..: 1 1 4 4 1 1 5 5 1 5 ...
##  $ DSTE    : num  -1.85 1.11 1.82 2.33 -0.85 0.08 -2.22 -0.96 -1.52 -1.62 ...
##  $ DTE     : Factor w/ 4 levels "Estatura adecuada",..: 4 1 1 1 1 1 2 1 4 4 ...
##  $ DSTP    : num  1.24 0.17 0.91 2.45 -0.22 0 -0.79 -1.55 0.99 -0.83 ...
##  $ DPT     : Factor w/ 9 levels "Adecuado-Edad",..: 9 4 4 3 4 4 4 7 4 4 ...
##  $ Comuna  : Factor w/ 22 levels "Altavista","Aranjuez",..: 15 9 8 3 4 17 7 4 9 18 ...
##  $ Zona    : Factor w/ 8 levels "Centro Occidental",..: 4 1 7 7 2 3 8 2 1 1 ...
##  $ Edad    : int  641 684 721 980 408 350 1754 967 283 544 ...

Creando nueva variable Edad2 en años

#una forma con la biblioteca base de R

datos3$Edad2 <- datos$Edad/365.5  
datos4 <- datos3 %>% 
  mutate(Edad2 =Edad/ 365.5)
str(datos4)
## 'data.frame':    83861 obs. of  13 variables:
##  $ Sexo    : Factor w/ 2 levels "Femenino","Masculino": 2 1 2 2 1 2 2 2 2 1 ...
##  $ Peso    : num  11.4 11.9 14.2 19.3 8.4 9.3 13.9 11.2 8.4 8.5 ...
##  $ Estatura: num  79 86.5 91.5 101 72 74 97.5 89 66.5 74.6 ...
##  $ DSPE    : num  0.04 0.75 1.58 2.97 -0.55 0.03 -1.87 -1.52 -0.17 -1.36 ...
##  $ DPE     : Factor w/ 5 levels "Peso adecuado",..: 1 1 4 4 1 1 5 5 1 5 ...
##  $ DSTE    : num  -1.85 1.11 1.82 2.33 -0.85 0.08 -2.22 -0.96 -1.52 -1.62 ...
##  $ DTE     : Factor w/ 4 levels "Estatura adecuada",..: 4 1 1 1 1 1 2 1 4 4 ...
##  $ DSTP    : num  1.24 0.17 0.91 2.45 -0.22 0 -0.79 -1.55 0.99 -0.83 ...
##  $ DPT     : Factor w/ 9 levels "Adecuado-Edad",..: 9 4 4 3 4 4 4 7 4 4 ...
##  $ Comuna  : Factor w/ 22 levels "Altavista","Aranjuez",..: 15 9 8 3 4 17 7 4 9 18 ...
##  $ Zona    : Factor w/ 8 levels "Centro Occidental",..: 4 1 7 7 2 3 8 2 1 1 ...
##  $ Edad    : int  641 684 721 980 408 350 1754 967 283 544 ...
##  $ Edad2   : num  1.75 1.87 1.97 2.68 1.12 ...

Filtrando individuos mayores a 6 años (filter())

datos5 <- datos4 %>% 
  filter(Edad2 <=6)

Procesos concatenados

datos_final <- datos2 %>% 
  mutate(Sexo = factor(Sexo, labels = c("Femenino", "Masculino")), 
         DPE = factor(DPE, labels = c("Peso adecuado", "Peso bajo", "Peso muy bajo", "Encima de 1 DE","Riesgo peso bajo")),
         DTE = factor(DTE, labels = c("Estatura adecuada", "Retraso en talla", "Muy alto" ,"Riesgo E. baja")),
                      DPT = factor(DPT, labels = c("Adecuado-Edad","Delgado" , "Obeso" ,"Adecuado-Estatura","D.Aguda", "D. Severa", "R. peso bajo", "R. Delgadez","Sobrepeso"))) %>% 
  mutate(Edad2= Edad/365.5) %>% 
  filter(Edad2 <=6)
  
str(datos_final)
## 'data.frame':    83407 obs. of  13 variables:
##  $ Sexo    : Factor w/ 2 levels "Femenino","Masculino": 2 1 2 2 1 2 2 2 2 1 ...
##  $ Peso    : num  11.4 11.9 14.2 19.3 8.4 9.3 13.9 11.2 8.4 8.5 ...
##  $ Estatura: num  79 86.5 91.5 101 72 74 97.5 89 66.5 74.6 ...
##  $ DSPE    : num  0.04 0.75 1.58 2.97 -0.55 0.03 -1.87 -1.52 -0.17 -1.36 ...
##  $ DPE     : Factor w/ 5 levels "Peso adecuado",..: 1 1 4 4 1 1 5 5 1 5 ...
##  $ DSTE    : num  -1.85 1.11 1.82 2.33 -0.85 0.08 -2.22 -0.96 -1.52 -1.62 ...
##  $ DTE     : Factor w/ 4 levels "Estatura adecuada",..: 4 1 1 1 1 1 2 1 4 4 ...
##  $ DSTP    : num  1.24 0.17 0.91 2.45 -0.22 0 -0.79 -1.55 0.99 -0.83 ...
##  $ DPT     : Factor w/ 9 levels "Adecuado-Edad",..: 9 4 4 3 4 4 4 7 4 4 ...
##  $ Comuna  : Factor w/ 22 levels "Altavista","Aranjuez",..: 15 9 8 3 4 17 7 4 9 18 ...
##  $ Zona    : Factor w/ 8 levels "Centro Occidental",..: 4 1 7 7 2 3 8 2 1 1 ...
##  $ Edad    : int  641 684 721 980 408 350 1754 967 283 544 ...
##  $ Edad2   : num  1.75 1.87 1.97 2.68 1.12 ...

Análisis exploratorio de datos

Frecuencias absolutas por factores

Sexo

library(knitr)
## Warning: package 'knitr' was built under R version 3.4.4
fa_sexo <- datos_final %>% 
  group_by(Sexo) %>% 
  summarise(Total= n(), Porcentaje = round (Total/nrow(datos_final)*100, 
            digits=2 )) %>% 
  kable()

fa_sexo
Sexo Total Porcentaje
Femenino 40453 48.5
Masculino 42954 51.5

Visualización con ggplot2

# Base de datos con informacion a graficar
fa_sexo2 <- datos_final %>%
  group_by(Sexo) %>% 
  summarise(Total= n(), Porcentaje = round (Total/nrow(datos_final)*100, 
            digits=2 )) 

# Gráfico con ggplot2
ggplot(data = fa_sexo2, mapping =  aes(x = Sexo, y = Total)) + 
  geom_col(color = "black", fill= "dodgerblue2") + 
  labs(x= "Género", y= "F. Absoluta",
       title ="Frecuencia absoluta por género")+
  theme_bw()

dplyr con ggplot2

datos_final %>% 
  group_by(Sexo) %>% 
  summarise(Total= n(), Porcentaje = round (Total/nrow(datos_final)*100, 
            digits=2 ))  %>% 
  ggplot (data=. , mapping = aes(x = Sexo, y = Total)) +
  geom_col(color = "black", fill= "dodgerblue2") + 
  labs(x= "Género", y= "F. Absoluta",
       title ="Frecuencia absoluta por género")+
  theme_bw()