A continuación un análisis de BRFSS 2020 Survey Data Behavioral Risk Factor Surveillance System 2020 Survey Data

Introducción

El presente documento desarrolla una exploración inicial de los datos correspondientes a la encuesta Behavioral Risk Factor Surveillance System (BRFSS) del año 2020. El objetivo de esta primera etapa es conocer la estructura de la base de datos, identificar algunas de sus principales variables y realizar una exploración visual de la información.

El análisis exploratorio de datos (EDA) permite obtener una primera aproximación al comportamiento de las variables y reconocer características generales de los registros antes de realizar análisis estadísticos posteriores.

Para este análisis se utilizaron herramientas del lenguaje R y R Markdown, principalmente los paquetes tidyverse y plotly, que permiten organizar, explorar y visualizar los datos.

1. Exploración Analítica de Datos (EDA)

1.1 Reconocimiento y estructura de la base de datos

En esta primera etapa se realizó un reconocimiento general de la base de datos BRFSS 2020, con el propósito de conocer su tamaño, estructura y las variables disponibles para el análisis. Para ello, se revisó el número de registros y variables, una muestra inicial de los datos, la estructura de las variables y sus nombres.

library(tidyverse)
library(plotly)
datos <- read_csv("../Datos de la encuesta BRFSS 2020.csv")
dim(datos)
## [1] 401958    279
head(datos, 6)
glimpse(datos %>% select(1:6))
## Rows: 401,958
## Columns: 6
## $ `_STATE` <dbl> 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1…
## $ FMONTH   <dbl> 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2…
## $ IDATE    <dbl> 1042020, 2072020, 1232020, 1092020, 1042020, 1092020, 1092020…
## $ IMONTH   <dbl> 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 2, 3, 2, 2, 2, 2…
## $ IDAY     <dbl> 4, 7, 23, 9, 4, 9, 9, 29, 30, 4, 5, 29, 7, 9, 18, 20, 8, 27, …
## $ IYEAR    <dbl> 2020, 2020, 2020, 2020, 2020, 2020, 2020, 2020, 2020, 2020, 2…
head(names(datos), 6)
## [1] "_STATE" "FMONTH" "IDATE"  "IMONTH" "IDAY"   "IYEAR"

1.2. Identificación y revisión de las variables

En esta etapa se seleccionaron algunas variables de interés para realizar una revisión inicial de la información disponible en la base de datos. Las variables fueron seleccionadas considerando aspectos sociodemográficos, estado de salud, hábitos y acceso a servicios de salud.

datos %>%
  select(GENHLTH, SEXVAR, PHYSHLTH, MENTHLTH, 
         HLTHPLN1, CHECKUP1, EXERANY2, SLEPTIM1,
         DIABETE4, SMOKE100, `_AGE_G`, `_BMI5CAT`) %>%
  glimpse()
## Rows: 401,958
## Columns: 12
## $ GENHLTH    <dbl> 2, 3, 3, 1, 2, 4, 3, 4, 2, 4, 4, 3, 2, 4, 3, 5, 2, 2, 3, 3,…
## $ SEXVAR     <dbl> 2, 2, 2, 2, 2, 1, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 2, 1, 2, 2,…
## $ PHYSHLTH   <dbl> 3, 88, 88, 88, 88, 20, 88, 15, 28, 6, 15, 5, 88, 88, 88, 30…
## $ MENTHLTH   <dbl> 30, 88, 88, 88, 88, 30, 88, 10, 88, 88, 88, 88, 88, 88, 88,…
## $ HLTHPLN1   <dbl> 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,…
## $ CHECKUP1   <dbl> 4, 1, 1, 2, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,…
## $ EXERANY2   <dbl> 1, 1, 1, 2, 1, 1, 2, 1, 1, 2, 1, 2, 1, 2, 1, 2, 1, 1, 2, 2,…
## $ SLEPTIM1   <dbl> 5, 7, 7, 6, 7, 8, 6, 6, 8, 12, 4, 9, 6, 5, 10, 15, 5, 8, 7,…
## $ DIABETE4   <dbl> 1, 3, 3, 3, 3, 1, 3, 1, 3, 3, 3, 1, 3, 4, 3, 1, 3, 1, 3, 3,…
## $ SMOKE100   <dbl> 1, NA, 2, 2, 2, 1, 2, 1, 2, 1, 2, 1, NA, 2, 2, 1, 1, 1, 2, …
## $ `_AGE_G`   <dbl> 5, 6, 6, 6, 6, 6, 6, 6, 3, 6, 6, 6, 6, 6, 6, 5, 5, 6, 6, 5,…
## $ `_BMI5CAT` <dbl> 1, 3, NA, NA, 2, 3, 2, 3, 2, 3, 2, 4, NA, 3, 4, 4, 3, 3, 3,…

Descripción de las variables seleccionadas

La siguiente tabla presenta una descripción general de las principales variables seleccionadas para la exploración inicial de la base de datos.

Variable Descripción
GENHLTH Estado general de salud
SEXVAR Sexo
PHYSHLTH Salud física
MENTHLTH Salud mental
HLTHPLN1 Cobertura de salud
CHECKUP1 Consulta médica de rutina
EXERANY2 Actividad física
SLEPTIM1 Horas de sueño
DIABETE4 Diabetes
SMOKE100 Antecedente de consumo de cigarrillos
_AGE_G Grupo de edad
_BMI5CAT Categoría de índice de masa corporal

1.3. Calidad y valores ausentes de los datos

En esta etapa se realizó una revisión general de la calidad de los datos, con el propósito de identificar la presencia de valores ausentes en la base de datos. Esta revisión permite reconocer qué variables presentan información incompleta y tenerlo en cuenta antes de realizar análisis posteriores.

sum(is.na(datos))
## [1] 51295182
faltantes <- data.frame(
  variable = names(datos),
  faltantes = colSums(is.na(datos))
)

head(
  faltantes[order(-faltantes$faltantes), ],
  6
)

La revisión de los valores ausentes permitió identificar que algunas variables de la base de datos presentan información incompleta. La cantidad de valores ausentes puede variar entre las diferentes variables, por lo que es importante considerar esta característica antes de realizar análisis posteriores.

1.4. Visualización exploratoria de los datos

Gráfico 1. Estado general de salud

salud <- datos %>%
  filter(GENHLTH %in% 1:5) %>%
  count(GENHLTH)
grafico_salud <- ggplot(
  salud,
  aes(x = factor(GENHLTH), y = n)
) +
  geom_col(fill = "steelblue") +
  labs(
    title = "Estado general de salud",
    x = "Código de estado de salud",
    y = "Número de registros"
  )

ggplotly(grafico_salud)

El gráfico muestra la distribución de los participantes según las categorías de estado general de salud reportadas en la encuesta. La visualización permite identificar cómo se concentran los registros entre las diferentes categorías de respuesta y reconocer cuáles presentan una mayor o menor cantidad de participantes.

Gráfico 2. Grupos de edad

edad <- datos %>%
  filter(`_AGE_G` %in% 1:6) %>%
  count(`_AGE_G`)
grafico_edad <- ggplot(
  edad,
  aes(x = factor(`_AGE_G`), y = n)
) +
  geom_col(fill = "darkseagreen3") +
  labs(
    title = "Distribución de los registros por grupo de edad",
    x = "Grupo de edad",
    y = "Número de registros"
  )

ggplotly(grafico_edad)

El gráfico muestra la distribución de los participantes entre los diferentes grupos de edad considerados en la encuesta. La visualización permite identificar cómo se concentran los registros en las distintas categorías de edad y reconocer cuáles tienen una mayor o menor presencia dentro de la base de datos.

Gráfico 3. Horas de sueño

sueno <- datos %>%
  filter(SLEPTIM1 >= 1 & SLEPTIM1 <= 24)
grafico_sueno <- ggplot(
  sueno,
  aes(x = SLEPTIM1)
) +
  geom_histogram(
    binwidth = 1,
    fill = "mediumpurple",
    color = "white"
  ) +
  labs(
    title = "Distribución de las horas de sueño",
    x = "Horas de sueño",
    y = "Número de registros"
  )

ggplotly(grafico_sueno)

El gráfico permite observar la distribución de las horas de sueño reportadas por los participantes. La visualización facilita identificar las cantidades de horas que presentan una mayor concentración de registros y observar la distribución general de esta variable.

2. Conclusiones del EDA

La exploración inicial de la base de datos BRFSS 2020 permitió reconocer su estructura, identificando 401.958 registros y 279 variables relacionadas con características sociodemográficas, estado de salud, factores de riesgo, acceso a servicios de salud y utilización de servicios preventivos.

La revisión de las variables permitió identificar diferentes tipos de información y reconocer la existencia de valores ausentes en algunas variables. También se observó que varias variables de la base utilizan códigos numéricos, por lo que su interpretación debe realizarse teniendo en cuenta la documentación oficial de la encuesta.

Las visualizaciones exploratorias permitieron obtener una primera aproximación a la distribución de los registros según estado general de salud, grupos de edad y horas de sueño. Estos gráficos facilitan el reconocimiento de las características generales de la información antes de realizar análisis posteriores.

En conclusión, esta etapa de EDA permitió familiarizarse con la base de datos, identificar sus principales variables y reconocer aspectos que deberán ser considerados en etapas posteriores del análisis.

Referencias bibliográficas

  1. Centers for Disease Control and Prevention. (2022). 2020 BRFSS Survey Data and Documentation. National Center for Chronic Disease Prevention and Health Promotion.