Em um post recente nós estudamos com detalhes como aplicar o teste t de Student bilateral para comparar uma média, com distribuição Normal e variância desconhecida, com um valor esperado ou conhecido. Contudo, não utilizamos nenhum software para fazer os cálculos, o que aumenta as chances de cometer erros. Neste artigo, vamos aplicar o teste t de Student para uma média utilizando R.
Este artigo é focado apenas no uso da linguagem R. Para dúvidas sobre o teste t, conjunto de dados e premissas adotadas, veja o post original.
Neste artigo você encontra:
Os códigos foram escritos utilizando R v.4.3.1 com os pacotes:
stats v.4.3.1
O notebook do Google Colab com este exemplo pode ser acessado neste link. Para você utiliza-lo, irá precisar fazer um cópia do arquivo original para uma conta do Google Drive.
Entrada de dados
# conjunto de dados
x <- c(369, 368, 367, 388, 379, 371, 399)
# valor esperado
mu_zero <- 374
# nível de significância
alpha <- 0.05 # entre 0 e 1
# tipo de teste
aga_um = "two.sided"
Aplicando o teste
O teste é aplicado utilizando a função t.test() (R CORE TEAM, 2023) que já vem automaticamente carregada no Google Colab. A função deve ser utilizada da seguinte forma:
result <- t.test(
x,
y = NULL,
alternative = aga_um,
mu = mu_zero,
paired = FALSE,
var.equal = FALSE,
conf.level = 1-alpha,
)
result
Os argumentos da função podem ser descritos da seguinte forma:
- x: um vetor contendo os dados numéricos;
- y: deve ser NULL para aplicar o teste para uma média;
- alternative: uma character string contendo a hipótese alternativa. Deve ser “two.sided” para aplicar o teste bilateral;
- mu: o valor esperado para a média;
- paired: deve ser FALSE para aplicar o teste para uma média;
- conf.level: o nível de confiança adotado (1 – alpha);
E como resultado, a função retorna uma list com os principais resultados:
One Sample t-test
data: x
t = 0.714, df = 6, p-value = 0.502
alternative hypothesis: true mean is not equal to 374
95 percent confidence interval:
366.0254 388.5460
sample estimates:
mean of x
377.2857
Além dos resultados acima, o objeto que é retornado pela função t.test tem alguns parâmetros que podem ser utilizados para acessar os resultados.
Para maiores detalhes, veja a documentação ou utilize o comando help(t.test).
Estatística do teste
result$statistic
t: 0.714001136463959
Valor crítico do teste
O valor crítico do teste pode ser obtido utilizando a função qt:
t_critical <- qt(p=1-alpha/2, df = result$parameter)
t_critical
2.44691185114497
Para mais informações sobre a função qt utilize o comando ndo help(qt) ou veja a documentação.
p-valor
result$p.value
0.502043931276613
Conclusão
Comparando o valor crítico ($t_{critico}$) com a estatística do teste ($t_{0}$)
if (abs(result$statistic) > t_critical)
{
cat("Rejeitamos a H₀ (", mean(x), " ≠ ", mu_zero, ", adotando ", 100(1-alpha), "% de confiança )")
}else
{
cat("Falhamos em rejeitar a H₀ (", mean(x), " = ", mu_zero, ", adotando ", 100(1-alpha), "% de confiança )")
}
Falhamos em rejeitar a H₀ ( 377.2857 = 374 , adotando 95 % de confiança )
Comparando a probabilidade ($p-valor$) com o nível de significância adotado ($\alpha$)
if (abs(result$p.value) < alpha)
{
cat("Rejeitamos a H₀ (", mean(x), " ≠ ", mu_zero, ", adotando ", 100(1-alpha), "% de confiança )")
}else
{
cat("Falhamos em rejeitar a H₀ (", mean(x), " = ", mu_zero, ", adotando ", 100(1-alpha), "% de confiança )")
}
Falhamos em rejeitar a H₀ ( 377.2857 = 374 , adotando 95 % de confiança )
Conclusão geral
Neste artigo vimos de forma bem prática como aplicar o teste t de Student bilateral para comparar uma média com um valor especificado utilizando a linguagem R. Os passos são bastantes simples e intuitivos. Basta para o pesquisador não ficar com receio de utilizar uma linguagem de programação, que irá conseguir fazer este tipo de análise (e análises mais complexas).
Referências
R CORE TEAM. R: A Language and Environment for Statistical Computing. Vienna, Austria: R Foundation for Statistical Computing, 2023.
STUDENT. The Probable Error of a Mean. Biometrika, v. 6, n. 1, p. 1, mar. 1908. DOI: https://doi.org/10.2307/2331554.