Os testes estatísticos são ferramentas fundamentais para responder perguntas científicas com base em dados. Eles nos permitem tomar decisões fundamentadas sobre relações, diferenças e associações entre variáveis, quantificando a incerteza das nossas conclusões.
4.1.1 Lógica dos Testes de Hipóteses
Todo teste estatístico segue uma lógica baseada em duas hipóteses complementares:
Hipótese Nula (H₀): Assume que não existe efeito, diferença ou associação entre as variáveis. É a hipótese de “status quo” ou “nenhuma mudança”.
Hipótese Alternativa (H₁): Propõe que existe um efeito, diferença ou associação. É o que geralmente buscamos evidenciar.
Exemplo prático:
H₀: A média de idade entre homens e mulheres internados é igual
H₁: A média de idade entre homens e mulheres internados é diferente
4.1.2 Valor-p e Significância Estatística
O valor-p (p-value) representa a probabilidade de obter os resultados observados (ou mais extremos) assumindo que a hipótese nula é verdadeira.
Interpretação:
p < 0,05: Rejeitamos H₀ → evidência estatisticamente significativa de que existe diferença/associação
p ≥ 0,05: Não rejeitamos H₀ → não há evidência estatística suficiente para afirmar que existe diferença/associação
Importante: Significância estatística (p < 0,05) não implica necessariamente relevância clínica ou prática. Sempre interprete os resultados no contexto do estudo.
4.1.3 Intervalos de Confiança
Os intervalos de confiança (IC) fornecem uma faixa de valores plausíveis para o parâmetro populacional.
IC 95%: Temos 95% de confiança que o valor verdadeiro está dentro deste intervalo
Se o IC não inclui zero (para diferenças) ou 1 (para razões), o resultado é estatisticamente significativo (p < 0,05)
4.1.4 Erros em Testes de Hipóteses
H₀ Verdadeira
H₀ Falsa
Rejeitar H₀
Erro Tipo I (α)
Decisão correta
Não rejeitar H₀
Decisão correta
Erro Tipo II (β)
Erro Tipo I (α): Falso positivo - rejeitar H₀ quando ela é verdadeira (fixado em 0,05)
Erro Tipo II (β): Falso negativo - não rejeitar H₀ quando ela é falsa
4.2 Árvore de Decisão: Qual Teste Usar?
Antes de realizar qualquer teste, é fundamental escolher o teste apropriado para suas variáveis e pergunta de pesquisa.
4.2.1 Fluxograma de Seleção de Testes
flowchart TD A[Qual é o seu objetivo?] --> B{Comparar grupos?} A --> C{Testar associação?} A --> D{Medir correlação?} B --> E{Variável dependente} E --> F[Numérica] E --> G[Categórica] F --> H{Quantos grupos?} H --> I[2 grupos] H --> J[3+ grupos] I --> K{Dados normais?} K --> |Sim| L[Teste t] K --> |Não| M[Mann-Whitney] J --> N{Dados normais?} N --> |Sim| O[ANOVA] N --> |Não| P[Kruskal-Wallis] C --> Q{Ambas categóricas} Q --> R{Tamanho da amostra?} R --> |Grande| S[Qui-quadrado] R --> |Pequena| T[Teste Exato de Fisher] D --> U{Ambas numéricas} U --> V{Dados normais?} V --> |Sim| W[Correlação de Pearson] V --> |Não| X[Correlação de Spearman]
flowchart TD
A[Qual é o seu objetivo?] --> B{Comparar grupos?}
A --> C{Testar associação?}
A --> D{Medir correlação?}
B --> E{Variável dependente}
E --> F[Numérica]
E --> G[Categórica]
F --> H{Quantos grupos?}
H --> I[2 grupos]
H --> J[3+ grupos]
I --> K{Dados normais?}
K --> |Sim| L[Teste t]
K --> |Não| M[Mann-Whitney]
J --> N{Dados normais?}
N --> |Sim| O[ANOVA]
N --> |Não| P[Kruskal-Wallis]
C --> Q{Ambas categóricas}
Q --> R{Tamanho da amostra?}
R --> |Grande| S[Qui-quadrado]
R --> |Pequena| T[Teste Exato de Fisher]
D --> U{Ambas numéricas}
U --> V{Dados normais?}
V --> |Sim| W[Correlação de Pearson]
V --> |Não| X[Correlação de Spearman]
4.2.2 Tabela Resumo de Testes
Objetivo
Variável Dependente
Variável Independente
Teste Paramétrico
Teste Não-Paramétrico
Comparar 2 grupos
Numérica
Categórica (2 níveis)
Teste t
Mann-Whitney
Comparar 3+ grupos
Numérica
Categórica (3+ níveis)
ANOVA
Kruskal-Wallis
Testar associação
Categórica
Categórica
Qui-quadrado
Teste Exato de Fisher
Medir correlação
Numérica
Numérica
Pearson
Spearman / Kendall
4.3 Preparação dos Dados
Antes de realizar os testes estatísticos, precisamos carregar os pacotes e preparar os dados.
# Carregar dados de internaçõesdados<-read_excel("data/dados_internacoes_maringa_2024.xlsx")# Preparar dadosdados_limpos<-dados|>clean_names()|>filter(cod_idade=="Anos")|>select(sexo, val_tot, raca_cor, idade, morte, dias_perm)|>mutate( raca_cor =case_when(raca_cor=='01'~"Branca",raca_cor=="02"~"Preta",raca_cor=="03"~"Parda",raca_cor=="04"~"Amarela",raca_cor=="05"~"Indígena"))|>mutate(across(c(val_tot, idade, dias_perm), as.numeric))|>mutate(across(c(sexo, raca_cor, morte), as.factor))|>rename(df =everything())# Para compatibilidade com scripts existentes
4.4 Pressupostos dos Testes Paramétricos
Os testes paramétricos (t-test, ANOVA, Pearson) assumem que os dados seguem certas condições. Quando essas condições não são atendidas, devemos usar alternativas não-paramétricas.
4.4.1 Teste de Normalidade
A normalidade dos dados é o pressuposto mais importante para testes paramétricos.
4.4.1.1 Avaliação Visual
O gráfico de densidade ou histograma fornece uma primeira impressão sobre a distribuição:
# Histograma da idadeggplot(dados_limpos, aes(x =idade))+geom_histogram(bins =30, fill ="steelblue", color ="white")+labs(title ="Distribuição da Idade", x ="Idade (anos)", y ="Frequência")+theme_minimal()
4.4.1.2 Teste de Shapiro-Wilk
O teste de Shapiro-Wilk é o teste mais utilizado para avaliar normalidade:
# Teste de Shapiro-Wilk (para amostras < 5000)shapiro.test(sample(dados_limpos$idade, 5000))
Interpretação:
H₀: Os dados seguem distribuição normal
p > 0,05: Não rejeitamos H₀ → dados são normais
p < 0,05: Rejeitamos H₀ → dados não são normais
Importante: O teste de Shapiro-Wilk é sensível ao tamanho da amostra. Com amostras muito grandes, pequenos desvios da normalidade podem ser significativos. Use também avaliação visual.
4.4.1.3 Teste de Kolmogorov-Smirnov
Alternativa para grandes amostras:
# Teste de Kolmogorov-Smirnovks.test(dados_limpos$idade, "pnorm", mean =mean(dados_limpos$idade), sd =sd(dados_limpos$idade))
4.4.2 Homogeneidade de Variâncias
Para testes que comparam grupos (t-test, ANOVA), as variâncias entre grupos devem ser similares.
4.4.2.1 Teste de Levene
# Teste de Levene para homogeneidade de variânciasleveneTest(idade~sexo, data =dados_limpos)
Interpretação:
H₀: As variâncias dos grupos são iguais
p > 0,05: Variâncias homogêneas → pode usar teste t padrão
p < 0,05: Variâncias heterogêneas → usar Welch’s t-test
4.5 Testes Paramétricos
4.5.1 Teste t de Student
O teste t compara as médias de dois grupos independentes assumindo distribuição normal e variâncias homogêneas.
Variável independente: Categórica binária (ex: sexo, grupo tratamento/controle)
Pressupostos: Normalidade e homogeneidade de variâncias
4.5.1.2 Exemplo: Diferença de idade entre sexos
Pergunta de pesquisa: Há diferença na idade média de internação entre homens e mulheres?
# Passo 1: Verificar pressupostos# Normalidadeshapiro.test(sample(dados_limpos$idade, 5000))# Homogeneidade de variânciasleveneTest(idade~sexo, data =dados_limpos)# Passo 2: Realizar teste t# Se variâncias iguais (Levene p > 0.05)t.test(idade~sexo, data =dados_limpos, var.equal =TRUE)# Se variâncias diferentes (Levene p < 0.05) - Welch's t-testt.test(idade~sexo, data =dados_limpos, var.equal =FALSE)
4.5.1.3 Interpretação dos Resultados
Welch Two Sample t-test
data: idade by sexo
t = -5.3159, df = 28465, p-value = 1.066e-07
alternative hypothesis: true difference in means is not equal to 0
95 percent confidence interval:
-1.925 -1.094
sample estimates:
mean in group Feminino mean in group Masculino
45.09 46.60
Interpretação:
t = -5.32: Estatística t (quanto maior, maior a diferença entre grupos)
df = 28.465: Graus de liberdade (relacionado ao tamanho da amostra)
p < 0,001: Forte evidência de diferença significativa entre sexos
IC 95% [-1,93; -1,09]: Não inclui zero → diferença é significativa
Médias: Homens são internados, em média, 1,51 anos mais velhos que mulheres (46,60 - 45,09)
4.5.1.4 Visualização
ggplot(dados_limpos, aes(x =sexo, y =idade, fill =sexo))+geom_boxplot(alpha =0.6)+stat_compare_means(method ="t.test")+# Adiciona p-valorlabs(title ="Distribuição da Idade por Sexo", x ="Sexo", y ="Idade (anos)")+theme_minimal()+theme(legend.position ="none")
4.5.2 ANOVA (Análise de Variância)
A ANOVA compara as médias de três ou mais grupos independentes.
ggplot(dados_limpos, aes(x =raca_cor, y =idade, fill =raca_cor))+geom_boxplot(alpha =0.6)+stat_compare_means(method ="anova")+labs(title ="Distribuição da Idade por Raça/Cor", x ="Raça/Cor", y ="Idade (anos)")+theme_minimal()+theme(legend.position ="none", axis.text.x =element_text(angle =45, hjust =1))
4.6 Testes Não-Paramétricos
Quando os pressupostos dos testes paramétricos não são atendidos (dados não normais ou variâncias heterogêneas), usamos alternativas não-paramétricas.
4.6.1 Teste de Mann-Whitney (Wilcoxon)
Alternativa não-paramétrica ao teste t para comparar dois grupos independentes.
4.6.1.1 Quando usar?
Os dados não seguem distribuição normal
Variâncias muito heterogêneas
Dados ordinais (ex: escalas Likert)
Presença de outliers extremos
4.6.1.2 Exemplo
# Teste de Mann-Whitneywilcox.test(idade~sexo, data =dados_limpos)
4.6.1.3 Interpretação
Wilcoxon rank sum test with continuity correction
data: idade by sexo
W = 98234567, p-value = 2.234e-07
alternative hypothesis: true location shift is not equal to 0
Interpretação:
W: Estatística do teste (soma dos ranks)
p < 0,001: Diferença significativa entre os grupos
O teste compara medianas e distribuições, não médias
Para identificar a direcionalidade, calcular medianas por grupo:
p < 0,001: Existe associação significativa entre sexo e mortalidade
Para entender a direção da associação:
# Proporções por linhaprop.table(tabela_contingencia, margin =1)
4.7.1.4 Visualização com Mosaic Plot
library(vcd)mosaic(~sexo+morte, data =dados_limpos, shade =TRUE, legend =TRUE, main ="Associação entre Sexo e Mortalidade")
4.7.2 Teste Exato de Fisher
Alternativa ao qui-quadrado para amostras pequenas (frequência esperada < 5 em alguma célula).
4.7.2.1 Quando usar?
Variáveis categóricas
Tabelas 2×2 ou pequenas
Frequências esperadas < 5
4.7.2.2 Exemplo
# Criar tabela de contingênciatabela2<-table(dados_limpos$raca_cor, dados_limpos$sexo)# Teste exato de Fisherfisher.test(tabela2, simulate.p.value =TRUE)# Simulação para tabelas maiores
Nota: Para tabelas maiores que 2×2, o teste pode ser computacionalmente intensivo. Use simulate.p.value = TRUE para aproximação por simulação.
4.8 Testes de Correlação
A correlação mede a força e direção da relação linear entre duas variáveis numéricas.
4.8.1 Coeficiente de Correlação
O coeficiente varia de -1 a +1:
r = +1: Correlação positiva perfeita
r = 0: Sem correlação linear
r = -1: Correlação negativa perfeita
Interpretação da magnitude:
Valor de |r|
Interpretação
0,00 - 0,10
Desprezível
0,10 - 0,30
Fraca
0,30 - 0,50
Moderada
0,50 - 0,70
Forte
0,70 - 1,00
Muito forte
4.8.2 Correlação de Pearson
A correlação de Pearson mede a relação linear entre variáveis com distribuição normal.
4.8.2.1 Quando usar?
Ambas as variáveis são numéricas contínuas
Relação linear entre as variáveis
Dados seguem distribuição normal
4.8.2.2 Exemplo: Correlação entre idade e custo de internação
# Teste de correlação de Pearsoncor.test(dados_limpos$idade, dados_limpos$val_tot, method ="pearson")
4.8.2.3 Interpretação
Pearson's product-moment correlation
data: dados_limpos$idade and dados_limpos$val_tot
t = 8.234, df = 28998, p-value < 2.2e-16
alternative hypothesis: true correlation is not equal to 0
95 percent confidence interval:
0.0357 0.0589
sample estimates:
cor
0.0473
Interpretação:
r = 0,047: Correlação positiva muito fraca
p < 0,001: A correlação é estatisticamente significativa
IC 95% [0,036; 0,059]: Não inclui zero → significativo
Conclusão: Embora estatisticamente significativa, a correlação é muito fraca (praticamente desprezível), indicando que idade explica apenas 0,22% da variabilidade no custo (r² = 0,047² = 0,0022)
4.8.3 Correlação de Spearman
Alternativa não-paramétrica que mede correlação monotônica (não necessariamente linear).
4.8.3.1 Quando usar?
Dados não seguem distribuição normal
Relação monotônica (não linear)
Presença de outliers
Dados ordinais
4.8.3.2 Exemplo
# Teste de correlação de Spearmancor.test(dados_limpos$idade, dados_limpos$val_tot, method ="spearman")
4.8.4 Visualização de Correlação
4.8.4.1 Gráfico de Dispersão
ggplot(dados_limpos, aes(x =idade, y =val_tot))+geom_point(alpha =0.3, size =1)+geom_smooth(method ="loess", color ="red", se =TRUE)+labs(title ="Relação entre Idade e Custo de Internação", x ="Idade (anos)", y ="Custo da Internação (R$)")+scale_y_continuous(labels =scales::number_format(big.mark =".", decimal.mark =","))+theme_minimal()
Observações:
A curva de suavização (loess) mostra uma relação quase plana
Muitos outliers (custos muito altos) podem distorcer a correlação
A visualização confirma a correlação muito fraca encontrada no teste
4.8.4.2 Matriz de Correlação
Para examinar múltiplas correlações simultaneamente:
Sempre verifique os pressupostos antes de escolher o teste
Visualize os dados antes de interpretar os testes
Reporte os intervalos de confiança, não apenas p-valores
Interprete no contexto clínico/prático, não apenas estatístico
Use testes post-hoc para comparações múltiplas (Tukey, Dunn)
Considere o tamanho do efeito, não apenas significância
4.9.4 Reportando Resultados
Ao reportar resultados de testes estatísticos em artigos científicos:
Teste t: “Homens foram internados com idade média significativamente maior que mulheres (46,6 vs 45,1 anos; t = -5,32; p < 0,001; IC 95%: -1,93 a -1,09)”
ANOVA: “A idade média de internação diferiu significativamente entre grupos de raça/cor (F(4, 28994) = 23,11; p < 0,001). Testes post-hoc de Tukey revelaram…”
Qui-quadrado: “Observou-se associação significativa entre sexo e mortalidade (χ² = 12,34; df = 1; p < 0,001)”
Correlação: “Idade e custo de internação apresentaram correlação positiva fraca, mas estatisticamente significativa (r = 0,047; p < 0,001; IC 95%: 0,036 a 0,059)”
4.10 Exercícios Práticos
4.10.1 Exercício 1: Teste t
Use o dataset de internações para responder: Existe diferença significativa no tempo de permanência hospitalar (dias_perm) entre pacientes que foram a óbito e os que sobreviveram?
Verifique os pressupostos (normalidade e homogeneidade de variâncias)
Escolha o teste apropriado
Realize o teste e interprete os resultados
Crie um boxplot visualizando a comparação
4.10.2 Exercício 2: ANOVA
Investigue se o custo médio de internação (val_tot) difere entre os diferentes meses de competência (mes_cmpt).
Realize ANOVA
Se significativo, faça o teste post-hoc de Tukey
Identifique quais meses diferem significativamente
Crie um gráfico de boxplot com os resultados
4.10.3 Exercício 3: Qui-quadrado
Analise se existe associação entre raça/cor (raca_cor) e mortalidade (morte).
Crie uma tabela de contingência
Calcule as proporções de óbito por grupo
Realize o teste qui-quadrado
Crie um mosaic plot para visualizar a associação
4.10.4 Exercício 4: Correlação
Examine a relação entre dias de permanência (dias_perm) e custo de internação (val_tot).
Crie um gráfico de dispersão
Avalie a normalidade das variáveis
Calcule a correlação apropriada (Pearson ou Spearman)
Interprete a força e direção da correlação
4.10.5 Exercício 5: Comparações Múltiplas
Escolha uma variável numérica e uma categórica do dataset. Realize uma análise completa:
Formule uma pergunta de pesquisa
Verifique pressupostos
Escolha e realize o teste apropriado
Visualize os resultados
Escreva uma conclusão em formato de artigo científico