1. Função para Gráfico da Distribuição Normal

create_normal_plot <- function(alpha, z_obs = -3.67) {
  
  # Calcular valor crítico
  z_crit <- qnorm(1 - alpha/2)
  
  # Criar base do gráfico
  ggplot(data.frame(x = c(-4, 4)), aes(x)) +
    
    # Curva normal
    stat_function(fun = dnorm, args = list(mean = 0, sd = 1),
                 color = "blue", linewidth = 1) +
    
    # Áreas de rejeição
    geom_area(stat = "function", fun = dnorm,
              fill = "red", alpha = 0.3, xlim = c(-4, -z_crit)) +
    geom_area(stat = "function", fun = dnorm,
              fill = "red", alpha = 0.3, xlim = c(z_crit, 4)) +
    
    # Linhas críticas
    geom_vline(xintercept = c(-z_crit, z_crit),
               linetype = "dashed", color = "blue") +
    
    # Ponto observado
    geom_point(aes(x = z_obs, y = 0), color = "darkgreen", size = 3) +
    
    # Anotações
    annotate("text", x = 0, y = 0.2, 
             label = paste0("1-α = ", 1-alpha), size = 5) +
    annotate("text", x = c(-2.5, 2.5), y = 0.1,
             label = paste("α/2 =", alpha/2), size = 4) +
    
    # Eixos e formatação
    scale_x_continuous(
      breaks = c(-z_crit, 0, z_crit, z_obs),
      labels = c(
        paste0("-zα/2 = ", -round(z_crit, 2)),
        "0",
        paste0("zα/2 = ", round(z_crit, 2)),
        paste0("z_obs = ", round(z_obs, 2))
      )
    ) +
    labs(
      title = paste("Teste Bilateral (α =", alpha, ")"),
      subtitle = paste("Região Crítica: |z| >", round(z_crit, 4)),
      x = "Valores z",
      y = "Densidade"
    ) +
    theme_minimal() +
    theme(
      plot.title = element_text(hjust = 0.5, face = "bold"),
      plot.subtitle = element_text(hjust = 0.5)
    )
}

2. Análise Gráfica para Diferentes α

# Gráfico para alpha = 0.10
create_normal_plot(0.10)

# Gráfico para alpha = 0.05
create_normal_plot(0.05)

# Gráfico para alpha = 0.01
create_normal_plot(0.01)

3. Exemplo 1.1

Dados do Problema:

mu0 <- 47    # Média hipotética
sigma <- 3.6 # Desvio padrão
n <- 15      # Tamanho da amostra
x_bar <- 43.58 # Média observada

Teste de Hipóteses:

cat("H₀: μ =", mu0, "\n")
## H₀: μ = 47
cat("H₁: μ ≠", mu0, "\n\n")
## H₁: μ ≠ 47
# Cálculo da estatística z
z_obs <- (x_bar - mu0) / (sigma/sqrt(n))
cat("Estatística z observada:", round(z_obs, 4), "\n")
## Estatística z observada: -3.6793

Tabela de Decisão:

alphas <- c(0.10, 0.05, 0.01)

results <- data.frame(
  α = alphas,
  Valor_Crítico = round(qnorm(1 - alphas/2), 4),
  p_valor = round(2*pnorm(-abs(z_obs)), 6),
  Decisão = ifelse(2*pnorm(-abs(z_obs)) < alphas, 
                  "Rejeita H₀", "Não rejeita H₀")
)

kable(results, align = 'c', caption = "Resultados do Teste")
Resultados do Teste
α Valor_Crítico p_valor Decisão
0.10 1.6449 0.000234 Rejeita H₀
0.05 1.9600 0.000234 Rejeita H₀
0.01 2.5758 0.000234 Rejeita H₀

Visualização da gráfica:

create_normal_plot(0.05, z_obs) +
  labs(title = "Aplicação Prática (α = 0.05)",
       subtitle = paste("z observado =", round(z_obs, 2)))

4. Conclusão

Para todos os níveis de significância analisados (10%, 5% e 1%), rejeitamos a hipótese nula, concluindo que há evidências estatísticas de que o tempo médio difere significativamente de 47 minutos (z = -3.68, p < 0.01).