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)
)
}
# 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)
mu0 <- 47 # Média hipotética
sigma <- 3.6 # Desvio padrão
n <- 15 # Tamanho da amostra
x_bar <- 43.58 # Média observada
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
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")
α | 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₀ |
create_normal_plot(0.05, z_obs) +
labs(title = "Aplicação Prática (α = 0.05)",
subtitle = paste("z observado =", round(z_obs, 2)))
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).