O presente segmento detalha as características demográficas da coorte
no momento do recrutamento basal. A integridade estrutural deste
relatório é gerada de forma reprodutível, extraindo os dados
estritamente do objeto de dados principal (df).
A coorte avaliada é composta por um total de 2662 indivíduos pediátricos e adolescentes. É composta por 570 portadores de asma, 100 portadores de asma grave, 1604 portadores com confirmação genética de fibrose cística e 388 controles sadios totalizando 2662 indivíduos.
A estratificação por sexo demonstrou a inclusão de 1413 pacientes do sexo masculino (representando 53.1% da amostra) e 1249 pacientes do sexo feminino (46.9%).
A avaliação etária da população de estudo demonstrou uma média de 9.8 anos, com um desvio padrão (DP) associado de 2.7 anos. Adicionalmente, a biometria basal indicou um Índice de Massa Corporal (IMC) médio de 18.9 kg/m² (DP ± 3.7).
A avaliação espirométrica da linha de base apresentou os seguintes resultados médios globais para os volumes pulmonares estáticos e fluxos dinâmicos:
No que concerne à fenotipagem clínica, a análise estruturada da matriz de dados revela que 100 pacientes (3.8%) preenchem os critérios para o diagnóstico de Asma Grave. Ademais, na avaliação dos determinantes de morbidade respiratória ambiental, documentou-se que 1075 indivíduos (40.4%) encontram-se expostos a tabagismo passivo no domicílio, uma variável crítica de confusão na análise de declínio funcional.
library(gtsummary)
library(tidyverse)
# Tabela simplificada de médias espirométricas
df %>%
select(doenca, cvf_pct, vef1_pre_pct) %>%
tbl_summary(
by = doenca,
label = list(cvf_pct ~ "CVF (%)", vef1_pre_pct ~ "VEF1 (%)"),
statistic = all_continuous() ~ "{mean} ({sd})"
) %>%
add_p() # Adiciona p-valor (ANOVA/Kruskal-Wallis automático)
| Characteristic | asma N = 5701 |
asma grave N = 1001 |
controles N = 3881 |
fibrose cistica N = 1,6041 |
p-value2 |
|---|---|---|---|---|---|
| CVF (%) | 100 (14) | 104 (19) | 108 (13) | 89 (22) | <0.001 |
| VEF1 (%) | 95 (14) | 94 (20) | 115 (16) | 83 (23) | <0.001 |
| 1 Mean (SD) | |||||
| 2 Kruskal-Wallis rank sum test | |||||
# -------------------------------------------------------------------------
# Projeto: Visualização de Função Pulmonar por Grupo Clínico
# Script: Box-plot Comparativo (VEF1 % do previsto)
# -------------------------------------------------------------------------
library(ggplot2)
library(dplyr)
# 1. Preparação dos dados para o gráfico
df_plot <- df
# 2. Construção do Gráfico
ggplot(df_plot, aes(x = doenca, y = vef1_pre_pct, fill = doenca)) +
# Adiciona os box-plots com transparência para ver os pontos
geom_boxplot(alpha = 0.7, outlier.shape = 21, outlier.fill = "white", width = 0.6) +
# Opcional: Adiciona os pontos (jitter) para mostrar a densidade amostral (n=2662)
# geom_jitter(width = 0.15, alpha = 0.1, size = 0.5) +
# Definição de Cores Científicas
scale_fill_brewer(palette = "Set1") +
# Customização de Eixos e Rótulos
labs(
title = "Distribuição do VEF1 (% do previsto) por Grupo Clínico",
subtitle = "Avaliação espirométrica pré-broncodilatador em pacientes pediátricos",
x = "Grupo Diagnóstico",
y = "VEF1 (% do previsto)",
fill = "Diagnóstico",
) +
# Aplicação de Tema Limpo (Publication Ready)
theme_minimal() +
theme(
legend.position = "none", # Remove legenda se o eixo X já identifica os grupos
panel.grid.minor = element_blank(),
axis.title = element_text(face = "bold"),
plot.title = element_text(size = 14, face = "bold"),
axis.text = element_text(color = "black")
) +
# Adiciona linha de referência em 80% (limite inferior da normalidade usual)
geom_hline(yintercept = 80, linetype = "dashed", color = "red", alpha = 0.6)