| Title: | Automated Functions for Basic Statistical Tests |
|---|---|
| Description: | Provides simple and intuitive functions for basic statistical analyses. Methods include the t-test (Student 1908 <doi:10.1093/biomet/6.1.1>), the Mann-Whitney U test (Mann and Whitney 1947 <doi:10.1214/aoms/1177730491>), Pearson's correlation (Pearson 1895 <doi:10.1098/rspl.1895.0041>), and analysis of variance (Fisher 1925, <doi:10.1007/978-1-4612-4380-9_5>). Functions are compatible with 'ggplot2' and 'dplyr'. |
| Authors: | Luiz Garcia [aut, cre] (ORCID: <https://orcid.org/0000-0002-9616-0927>) |
| Maintainer: | Luiz Garcia <[email protected]> |
| License: | MIT + file LICENSE |
| Version: | 0.1.12 |
| Built: | 2026-05-18 11:11:41 UTC |
| Source: | https://github.com/cran/autotesteR |
O pacote autotesteR oferece uma interface amigável para a realização de testes estatísticos comuns, com foco na apresentação gráfica dos resultados, checagem automática de pressupostos e uso da língua portuguesa.
A proposta do autotesteR é simplificar a aplicação de testes estatísticos frequentemente usados na pesquisa científica — como o teste t, ANOVA, Mann-Whitney, correlação de Pearson, entre outros —, aliando visualizações claras, diagnósticos automáticos e recomendações baseadas nas características dos dados.
As funções atualmente disponíveis incluem:
pre.teste — sugere automaticamente o teste mais apropriado para os dados;
teste.t — teste t de Student para dois grupos independentes;
teste.tpareado — teste t pareado para medidas repetidas;
teste.u — teste de Mann-Whitney para comparação não paramétrica entre dois grupos;
teste.anova — ANOVA de uma via para mais de dois grupos;
teste.kruskal — teste de Kruskal-Wallis (alternativa não paramétrica à ANOVA);
teste.qui — teste do qui-quadrado para tabelas de contingência;
teste.fisher — teste exato de Fisher para tabelas 2x2;
teste.correlacao — teste de correlação de Pearson ou Spearman.
Todas as funções estão documentadas em português, aceitam objetos do tipo data.frame e fórmulas como variavel ~ grupo, além de retornarem resumos claros e gráficos integrados.
Luiz Fernando Cardoso Garcia [email protected]
pre.teste,
teste.t,
teste.tpareado,
teste.u,
teste.anova,
teste.kruskal,
teste.qui,
teste.fisher,
teste.correlacao
# Acesse a função principal para testes automáticos g1 <- c(1, 2, 3) g2 <- c(4, 5, 6) pre.teste(g1, g2)# Acesse a função principal para testes automáticos g1 <- c(1, 2, 3) g2 <- c(4, 5, 6) pre.teste(g1, g2)
Identifica automaticamente se os dados sao numericos ou categoricos e sugere o teste estatistico mais adequado.
pre.teste(..., alpha = 0.05, ajuda = FALSE, verbose = TRUE)pre.teste(..., alpha = 0.05, ajuda = FALSE, verbose = TRUE)
... |
Dois ou mais vetores (numericos ou categoricos) |
alpha |
Nivel de significancia. Padrao = 0.05 |
ajuda |
Logico. Se TRUE, mostra ajuda detalhada |
verbose |
Logico. Se TRUE, imprime mensagens informativas |
Lista invisivel com resultados dos testes de normalidade, homogeneidade ou tabela de contingencia e recomendacao do teste
Realiza ANOVA (e Tukey HSD) se os dados atenderem aos pressupostos de normalidade e homogeneidade. Caso contrario, recomenda automaticamente o uso de Kruskal-Wallis/Dunn.
teste.anova( ..., titulo = "ANOVA/Tukey HSD", x = "Eixo x", y = "Eixo y", estilo = 1, ajuda = FALSE, verbose = TRUE )teste.anova( ..., titulo = "ANOVA/Tukey HSD", x = "Eixo x", y = "Eixo y", estilo = 1, ajuda = FALSE, verbose = TRUE )
... |
Vetores ou um data.frame com >= 2 colunas. |
titulo |
Titulo do grafico. |
x |
Rotulo do eixo X. |
y |
Rotulo do eixo Y. |
estilo |
Estetica do plot gerado pela funcao. |
ajuda |
Se TRUE, mostra a ajuda. |
verbose |
Se TRUE, mostra mensagens detalhadas. |
Objeto aov ou mensagem de recomendacao.
df <- data.frame( controle = rnorm(30, 10), tratamento = rnorm(30, 12), teste = rnorm(30, 11) ) teste.anova(df)df <- data.frame( controle = rnorm(30, 10), tratamento = rnorm(30, 12), teste = rnorm(30, 11) ) teste.anova(df)
Realiza teste de correlacao entre duas variaveis numericas, escolhendo automaticamente entre Pearson, Spearman ou Kendall com base na normalidade, empates e outliers. Opcionalmente exibe graficos de diagnostico e grafico da correlacao com linha de tendencia.
teste.correlacao( x, y = NULL, metodo = "auto", estilo = 1, ajuda = FALSE, verbose = TRUE, plot_normalidade = FALSE )teste.correlacao( x, y = NULL, metodo = "auto", estilo = 1, ajuda = FALSE, verbose = TRUE, plot_normalidade = FALSE )
x |
Vetor numerico ou data frame com duas colunas numericas |
y |
Vetor numerico (opcional se x for data frame) |
metodo |
Metodo de correlacao: "auto" (padrao), "pearson", "spearman" ou "kendall" |
estilo |
Estetica do plot gerado pela funcao. |
ajuda |
Se TRUE, exibe explicacao detalhada da funcao |
verbose |
Se TRUE, imprime mensagens sobre o metodo escolhido e testes de normalidade |
plot_normalidade |
Se TRUE, gera QQ-plots para avaliacao da normalidade dos dados |
Objeto de classe htest invisivel com o resultado do teste de correlacao
# Pearson set.seed(123) x <- rnorm(30, sd = 1) y <- x + rnorm(30, sd = 1) teste.correlacao(x, y) # Spearman set.seed(123) x <- runif(300) y <- log(x + 0.1) + rnorm(300, sd = 0.05) teste.correlacao(x, y) # Kendall set.seed(123) x <- rnorm(200) y <- x + rnorm(200, sd = 0.2) x_out <- runif(20, -10, 10) y_out <- runif(20, -10, 10) x <- c(x, x_out) y <- c(y, y_out) teste.correlacao(x, y)# Pearson set.seed(123) x <- rnorm(30, sd = 1) y <- x + rnorm(30, sd = 1) teste.correlacao(x, y) # Spearman set.seed(123) x <- runif(300) y <- log(x + 0.1) + rnorm(300, sd = 0.05) teste.correlacao(x, y) # Kendall set.seed(123) x <- rnorm(200) y <- x + rnorm(200, sd = 0.2) x_out <- runif(20, -10, 10) y_out <- runif(20, -10, 10) x <- c(x, x_out) y <- c(y, y_out) teste.correlacao(x, y)
Realiza o teste exato de Fisher a partir de dois vetores categoricos ou um data frame de duas colunas, construindo uma tabela de contingencia.
teste.fisher( var1, var2 = NULL, titulo = "Teste Exato de Fisher", x = NULL, y = "Proporcao", estilo = 1, mostrar_tabela = TRUE, ajuda = FALSE, verbose = TRUE )teste.fisher( var1, var2 = NULL, titulo = "Teste Exato de Fisher", x = NULL, y = "Proporcao", estilo = 1, mostrar_tabela = TRUE, ajuda = FALSE, verbose = TRUE )
var1 |
Vetor categorico ou data frame com duas colunas. |
var2 |
Vetor categorico (obrigatorio se var1 for vetor). |
titulo |
Titulo do grafico (string). Default: "Teste Exato de Fisher" |
x |
Nome do eixo x no grafico (string). Default: NULL (usa nome da variavel) |
y |
Nome do eixo y no grafico (string). Default: "Proporcao" |
estilo |
Estetica do plot gerado pela funcao. |
mostrar_tabela |
Logico. Se TRUE, exibe a tabela de contingencia no console. Default: TRUE |
ajuda |
Logico. Se TRUE, mostra explicacao detalhada da funcao. Default: FALSE |
verbose |
Logico. Se TRUE, imprime mensagens detalhadas sobre o teste. Default: TRUE |
Objeto invisivel do teste e grafico.
dados <- data.frame(controle = c("saudavel","saudavel","doente","doente","doente"), tratamento = c("saudavel","saudavel","saudavel","saudavel","doente")) teste.fisher(dados)dados <- data.frame(controle = c("saudavel","saudavel","doente","doente","doente"), tratamento = c("saudavel","saudavel","saudavel","saudavel","doente")) teste.fisher(dados)
Realiza o teste de Kruskal-Wallis para comparacao de multiplos grupos independentes, seguido do pos-teste de Dunn com correcao de Bonferroni.
teste.kruskal( ..., titulo = "Kruskal-Wallis + Dunn", x = "Grupo", y = "Valor", estilo = 1, ajuda = FALSE, verbose = TRUE )teste.kruskal( ..., titulo = "Kruskal-Wallis + Dunn", x = "Grupo", y = "Valor", estilo = 1, ajuda = FALSE, verbose = TRUE )
... |
Vetores numericos ou um data frame com duas ou mais colunas (cada uma representando um grupo) |
titulo |
Titulo do grafico (padrao = "Kruskal-Wallis + Dunn") |
x |
Nome do eixo x (padrao = "Grupo") |
y |
Nome do eixo y (padrao = "Valor") |
estilo |
Estetica do plot gerado pela funcao. |
ajuda |
Se TRUE, exibe mensagem de ajuda |
verbose |
Se TRUE, imprime mensagens detalhadas (padrao = TRUE) |
Objeto do teste de Kruskal-Wallis
Aplica o teste qui-quadrado ou Fisher para associacao entre duas variaveis categoricas.
teste.qui( var1, var2 = NULL, titulo = "Teste Qui-Quadrado", x = NULL, y = "Proporcao", estilo = 1, mostrar_tabela = TRUE, ajuda = FALSE, verbose = TRUE )teste.qui( var1, var2 = NULL, titulo = "Teste Qui-Quadrado", x = NULL, y = "Proporcao", estilo = 1, mostrar_tabela = TRUE, ajuda = FALSE, verbose = TRUE )
var1 |
Vetor categorico ou data frame com duas colunas (grupo 1 e 2). |
var2 |
Vetor categorico (grupo 2). Obrigatorio se var1 for vetor. |
titulo |
Titulo do grafico (string). Default: "Teste Qui-Quadrado". |
x |
Rotulo do eixo x no grafico (string). Default: NULL (usa nome da variavel). |
y |
Rotulo do eixo y no grafico (string). Default: "Proporcao". |
estilo |
Estetica do plot gerado pela funcao. |
mostrar_tabela |
Logico. Se TRUE, exibe a tabela de contingencia no console. Default: TRUE. |
ajuda |
Logico. Se TRUE, exibe explicacao detalhada da funcao. Default: FALSE. |
verbose |
Logico. Se TRUE, imprime mensagens sobre o teste e frequencias esperadas. Default: TRUE. |
Resultado do teste e tabela de contingencia.
dados <- data.frame(controle = c(rep('saudavel', 50), rep('doente', 150)), tratamento = c(rep('saudavel', 100), rep('doente', 100))) teste.qui(dados)dados <- data.frame(controle = c(rep('saudavel', 50), rep('doente', 150)), tratamento = c(rep('saudavel', 100), rep('doente', 100))) teste.qui(dados)
Executa o teste t para comparacao de medias entre dois grupos independentes, com verificacao automatica de normalidade e homogeneidade de variancias. Caso os pressupostos nao sejam atendidos, o teste de Mann-Whitney e aplicado automaticamente (sem gerar grafico).
teste.t( ..., titulo = "Teste t", x = "Grupo", y = "Valor", ajuda = FALSE, verbose = TRUE, estilo = 1 )teste.t( ..., titulo = "Teste t", x = "Grupo", y = "Valor", ajuda = FALSE, verbose = TRUE, estilo = 1 )
... |
Dois vetores numericos ou um data frame com exatamente duas colunas. |
titulo |
Titulo do grafico (string). Default: "Teste t". |
x |
Nome do eixo x no grafico (string). Default: "Grupo". |
y |
Nome do eixo y no grafico (string). Default: "Valor". |
ajuda |
Logico. Se TRUE, mostra explicacao detalhada da funcao. Default: FALSE. |
verbose |
Se TRUE, imprime mensagens detalhadas. Default: TRUE. |
estilo |
Estetica do plot gerado pela funcao. |
Lista invisivel com resumo, resultado do teste, metodo e (opcionalmente) grafico.
df <- data.frame( controle = rnorm(30, 10), tratamento = rnorm(30, 12) ) teste.t(df)df <- data.frame( controle = rnorm(30, 10), tratamento = rnorm(30, 12) ) teste.t(df)
Executa comparacoes multiplas entre grupos numericos (como colunas de um data frame ou vetores nomeados) usando teste t ou Mann-Whitney (MW), escolhidos automaticamente com base na normalidade (Shapiro-Wilk) e homogeneidade de variancias (teste de Levene).
teste.tmulti( ..., comparacoes = NULL, titulo = "Comparacoes multiplas (t / MW)", x = "", y = "Valor", estilo = 1, ajuda = FALSE, verbose = TRUE )teste.tmulti( ..., comparacoes = NULL, titulo = "Comparacoes multiplas (t / MW)", x = "", y = "Valor", estilo = 1, ajuda = FALSE, verbose = TRUE )
... |
Data frame contendo apenas colunas numericas, ou varios vetores numericos nomeados (cada vetor corresponde a um grupo). |
comparacoes |
Formato flexivel. Pode ser:
|
titulo |
Titulo do grafico. |
x |
Rotulo do eixo x. |
y |
Rotulo do eixo y. |
estilo |
Inteiro 1-4 definindo o estilo visual do grafico. 1 = boxplot; 2 = violino + boxplot; 3 = violino minimalista; 4 = half-eye (requer ggdist). |
ajuda |
mostrar ajuda rapida |
verbose |
Se |
A funcao tambem:
aceita diferentes formatos de entrada para definir as comparacoes (lista de pares, vetores de nomes, strings, etc.);
imprime um resumo (medias/DP) e destaca comparacoes significativas;
gera graficos com barras de significancia e quatro estilos visuais personalizaveis;
retorna resultados completos para uso programatico.
Uma lista invisivel com:
resultados: tibble com grupo1, grupo2, metodo (t/MW) e p-valor;
pares_signif: subconjunto significativo (p < 0.05);
grafico: objeto ggplot final;
dados_long: dados reorganizados em formato longo.
df <- data.frame( controle = rnorm(30, 10), tratamento = rnorm(30, 12), teste1 = rnorm(30, 11), teste2 = rnorm(30, 15) ) teste.tmulti(df) teste.tmulti(df, comparacoes = list(c("controle", "tratamento"), c("tratamento", "teste1")) )df <- data.frame( controle = rnorm(30, 10), tratamento = rnorm(30, 12), teste1 = rnorm(30, 11), teste2 = rnorm(30, 15) ) teste.tmulti(df) teste.tmulti(df, comparacoes = list(c("controle", "tratamento"), c("tratamento", "teste1")) )
Realiza o teste t pareado entre dois vetores numericos (ex.: antes e depois) ou entre duas colunas numericas de um data frame. Inclui quatro estilos de visualizacao (boxplot, violino, monocromatico e half-eye).
teste.tpareado( ..., titulo = "Teste t pareado", xlab = "", ylab = "Valor", estilo = 1, conectar = TRUE, ajuda = FALSE, verbose = TRUE )teste.tpareado( ..., titulo = "Teste t pareado", xlab = "", ylab = "Valor", estilo = 1, conectar = TRUE, ajuda = FALSE, verbose = TRUE )
... |
Dois vetores numericos com mesmo comprimento, ou um data frame com exatamente duas colunas numericas. |
titulo |
Titulo do grafico. |
xlab |
Rotulo do eixo x. |
ylab |
Rotulo do eixo y. |
estilo |
Estilo do grafico:
|
conectar |
Logico. Se TRUE, conecta pares (apenas teste pareado). |
ajuda |
Se TRUE, exibe explicacoes detalhadas. |
verbose |
Se TRUE, mostra mensagens de progresso. |
Lista invisivel contendo:
Medias e desvios-padrao dos grupos
Objeto do teste t (stats::t.test)
Data frame usado no grafico
Objeto ggplot2
antes <- c(10, 12, 11, 13) depois <- c(9, 11, 10, 10) teste.tpareado(antes, depois) df <- data.frame(A = antes, B = depois) teste.tpareado(df, estilo = 3)antes <- c(10, 12, 11, 13) depois <- c(9, 11, 10, 10) teste.tpareado(antes, depois) df <- data.frame(A = antes, B = depois) teste.tpareado(df, estilo = 3)
Realiza o teste de Mann-Whitney (Wilcoxon rank-sum) para comparacao de dois grupos independentes, com resumo estatistico e visualizacao grafica.
teste.u( ..., titulo = "Teste de Mann-Whitney", x = "Grupo", y = "Valor", estilo = 1, ajuda = FALSE, verbose = TRUE )teste.u( ..., titulo = "Teste de Mann-Whitney", x = "Grupo", y = "Valor", estilo = 1, ajuda = FALSE, verbose = TRUE )
... |
Dois vetores numericos ou um data.frame com duas colunas numericas. |
titulo |
Titulo do grafico. Default: "Teste de Mann-Whitney". |
x |
Nome do eixo x no grafico. Default: "Grupo". |
y |
Nome do eixo y no grafico. Default: "Valor". |
estilo |
Estetica do plot gerado pela funcao. |
ajuda |
Logico. Se TRUE, exibe explicacao detalhada da funcao. Default: FALSE. |
verbose |
Se TRUE, imprime mensagens detalhadas. Default: TRUE. |
Lista invisivel com:
Resumo estatistico por grupo
Resultado do teste (objeto htest)
Objeto ggplot2 com a visualizacao
x <- c(1, 3, 5, 6) y <- c(7, 8, 9, 12) teste.u(x, y) dados <- data.frame(grupoA = x, grupoB = y) teste.u(dados)x <- c(1, 3, 5, 6) y <- c(7, 8, 9, 12) teste.u(x, y) dados <- data.frame(grupoA = x, grupoB = y) teste.u(dados)