curso
Teste de qui-quadrado no R: Um guia completo
Entender como analisar e interpretar dados é uma habilidade inestimável para os profissionais de dados. Há muitos testes estatísticos diferentes que são usados por diferentes motivos. O teste qui-quadrado é um teste comum usado em um contexto específico: quando você precisa você precisa determinar associações entre variáveis categóricas. Isso é algo comum que os pesquisadores precisam saber, e é por isso que o teste do qui-quadrado é um dos testes estatísticos mais usados.
Este tutorial apresenta o teste qui-quadrado, seus diferentes tipos e as etapas para executá-lo usando a linguagem de programação R. Ao final deste guia, você estará equipado com o conhecimento e as habilidades para aplicar com confiança o teste qui-quadrado aos seus próprios dados e interpretar os resultados.
Se você não tem experiência com a linguagem de programação R, talvez queira conferir o curso de carreira de Analista de Dados com R, que é fácil para iniciantes, para se familiarizar com a linguagem por meio de exemplos práticos de análise de dados.
Etapas principais: Como realizar um teste de qui-quadrado no R
Para realizar um teste qui-quadrado no R, siga estas etapas:
-
Etapa 1: Prepare seus dados em um formato de tabela de contingência.
-
Etapa 2: Use a função
chisq.test()
para aplicar o teste de qui-quadrado.
Aqui está um exemplo rápido que demonstra isso usando dados de amostra:
# Step 1: Creating a contingency table
data <- matrix(c(10, 20, 30, 40), nrow = 2)
# Step 2: Applying the chi-square test function
result <- chisq.test(data)
# Viewing the result
print(result)
Esse trecho de código cria uma tabela de contingência 2x2 e executa o teste de qui-quadrado. O resultado mostrará a estatística de teste, os graus de liberdade e o valor de p.
O que é um teste de qui-quadrado?
O teste qui-quadrado é um teste estatístico usado para determinar se há uma associação significativa entre variáveis categóricas. Ele compara as frequências observadas de ocorrências em diferentes categorias com as frequências esperadas se não houvesse associações entre as variáveis.
Tipos de testes de qui-quadrado
Há dois tipos principais de testes de qui-quadrado:
- Teste Qui-Quadrado de Independência: Ela ajuda a determinar se as variáveis são independentes ou se há uma relação entre elas. Por exemplo, você pode querer saber se o gênero afeta a preferência de voto.
- Teste qui-quadrado de adequação: Esse teste verifica se os dados da amostra se ajustam a uma distribuição populacional. Por exemplo, você pode querer ver se um dado é justo comparando a frequência observada de cada face com a frequência esperada se o dado fosse justo.
Premissas do teste de qui-quadrado
Para garantir a validade do teste qui-quadrado, é necessário atender a determinadas suposições:
- Os dados devem estar na forma de frequências ou contagens de casos.
- As categorias devem ser mutuamente exclusivas.
- Para o teste qui-quadrado de independência, a frequência esperada em cada categoria deve ser de pelo menos 5.
- O teste de adequação espera uma frequência de pelo menos 1, com não mais que 20% das frequências esperadas sendo menores que 5.
Aplicações práticas dos testes de qui-quadrado
Os testes de qui-quadrado são amplamente usados no meio acadêmico e no setor, especialmente para testar hipóteses sobre a independência de variáveis categóricas. Algumas dessas aplicações práticas são:
- Pesquisa de mercado: Algumas aplicações incluem analisar se as preferências dos clientes por um produto variam entre diferentes faixas etárias e níveis de renda ou determinar se diferentes campanhas de marketing são igualmente eficazes entre segmentos demográficos.
- Pesquisa médica: Casos de uso comuns são o estudo da associação entre fatores de estilo de vida (por exemplo, tabagismo, exercícios) e a incidência de doenças (por exemplo, câncer de pulmão, doenças cardíacas) ou a avaliação de se diferentes grupos de tratamento apresentam diferentes taxas de recuperação em estudos clínicos.
- Controle de qualidade: Comumente usado para examinar se os defeitos do produto são independentes do processo de fabricação ou de linhas de produção específicas e para comparar a qualidade dos produtos de diferentes fornecedores para determinar se há uma diferença significativa nas taxas de defeitos.
- Educação: Os testes são frequentemente usados para determinar se há uma diferença significativa nas taxas de aprovação entre alunos de diferentes escolas ou métodos de ensino e para avaliar se a introdução de um novo currículo melhora o desempenho dos alunos em todas as matérias.
Vale a pena observar que essas são algumas das muitas aplicações no meio acadêmico e no setor e podem ser estendidas a outros domínios e campos.
Realização de um teste de qui-quadrado no R: Um exemplo
A melhor maneira de aprender a realizar testes de qui-quadrado é por meio de um exemplo em que aplicamos o teste a um conjunto de dados. Usaremos o conjunto de dados Anemia Levels in Nigeria (Níveis de anemia na Nigéria ), que pode ser baixado do Kaggle. O conjunto de dados é proveniente das Pesquisas Demográficas e de Saúde da Nigéria (NDHS) de 2018. Ele explora o impacto da idade das mães e de fatores socioeconômicos nos níveis de anemia entre crianças de 0 a 59 meses de idade nos 36 estados da Nigéria e no Território da Capital Federal.
Vamos carregar o conjunto de dados no R e examinar uma amostra para que você entenda melhor os dados. Para ler arquivos CSV no R, você precisará instalar um pacote chamado readr
.
# Load the necessary libraries
install.packages('readr')
library(readr)
# Load the dataset from the CSV file
dataset <- read_csv("children anemia.csv")
# Display the first few rows of the dataset
head(dataset)
# Rename a column
colnames(dataset)[colnames(dataset) == "Anemia level...8"] <- "Anemia level"
# Display the column names
colnames(dataset)
Além de uma amostra do conjunto de dados, você verá as colunas do conjunto de dados abaixo:
Colunas no conjunto de dados. Imagem do autor.
Entre elas, escolheremos essas duas colunas para avaliar se há uma relação entre elas.
-
Nível educacional mais alto: Essa coluna categoriza a escolaridade da mãe em "Sem escolaridade", "Primário", "Secundário" e "Superior".
-
Nível de anemia: Essa coluna indica o nível de anemia da criança, como "Moderado", "Grave" ou "Sem anemia".
Etapa 1: Criação de uma tabela de contingência
Uma tabela de contingência, também conhecida como tabulação cruzada ou cross-tab, mostra como os valores de duas ou mais variáveis categóricas são distribuídos em suas respectivas categorias.
Selecionaremos as duas colunas selecionadas do conjunto de dados e as converteremos no formato de tabela de contingência necessário. Usaremos um pacote comumente usado chamado dplyr
para essas operações.
# Install and load the package
install.packages('dplyr')
library(dplyr)
# Select the columns of interest
selected_data <- dataset %>% select(Highest educational level, Anemia level)
# Create a contingency table for Highest educational level and Anemia level
contingency_table <- table(selected_data$Highest educational level, selected_data$Anemia level)
# View the contingency table
print(contingency_table)
A tabela de contingência resultante tem a seguinte aparência:
Tabela de contingência. Imagem do autor.
Etapa 2: Aplicação da função de teste de qui-quadrado
Como temos o conjunto de dados no formato de tabela de contingência que desejamos, podemos simplesmente aplicar a função chisq.test()
. Você não precisa carregar nenhuma biblioteca para chamar essa função, pois ela está disponível no pacote básico do R.
# Perform chi-square test
chi_square_test <- chisq.test(contingency_table)
# View the results
print(chi_square_test)
O resultado será semelhante:
Resultados do teste qui-quadrado de Pearson. Imagem do autor.
É isso aí! Realizamos o teste qui-quadrado em duas etapas simples. Em seguida, como interpretamos os resultados?
Formulação de hipóteses e interpretação dos resultados
As hipóteses indicam claramente o que estamos testando e estabelecem uma estrutura para interpretar os resultados. Em termos mais simples, a hipótese que formulamos nos dá uma pergunta clara a ser respondida, e o teste qui-quadrado nos ajuda a determinar se os dados observados apóiam ou refutam a afirmação.
Hipóteses para o teste de qui-quadrado
Ao realizar um teste qui-quadrado, normalmente estabelecemos duas hipóteses:
- Hipótese nula (H0): A hipótese nula afirma que não há associação entre as duas variáveis categóricas que estão sendo testadas. Ele pressupõe que todas as diferenças observadas nos dados se devem ao acaso, e não a uma relação verdadeira.
- Hipótese alternativa (H1): A hipótese alternativa afirma que há uma associação significativa entre as duas variáveis. Isso sugere que as diferenças observadas não se devem ao acaso e que há uma relação entre as variáveis.
Aplicando os conceitos de hipótese nula e alternativa às variáveis nas quais realizamos o teste qui-quadrado, podemos formular a hipótese da seguinte forma:
- Hipótese nula (H0): A hipótese nula é que não há associação entre o nível educacional mais alto da mãe e o nível de anemia da criança. Isso significa que presumimos que a probabilidade de uma criança ter anemia é independente do nível de escolaridade da mãe.
- Hipótese alternativa (H1): A hipótese alternativa é que existe uma associação entre o nível educacional mais alto da mãe e o nível de anemia da criança. Isso significa que o nível de escolaridade da mãe afeta a probabilidade de a criança ter anemia.
Interpretação do resultado do teste de qui-quadrado
Agora que formamos uma hipótese, podemos interpretar os resultados no contexto da hipótese:
-
Estatística de qui-quadrado (X-quadrado): A estatística do teste qui-quadrado é
142.86
. Esse valor mede a discrepância entre as frequências observadas na tabela de contingência e as frequências que esperaríamos se não houvesse associações entre as variáveis. -
Graus de liberdade (df): O grau de liberdade para esse teste é
9
. Isso é calculado como (número de linhas - 1) * (número de colunas - 1). -
Valor de p: O valor de p é menor que
2.2e-16
, o que é extremamente pequeno. Esse valor p indica a probabilidade de você observar uma estatística qui-quadrada tão ou mais extrema do que142.86
se a hipótese nula fosse verdadeira.
Rejeitamos a hipótese nula, pois o valor p é muito menor do que os níveis de significância comuns (por exemplo, 0,05, 0,01 ou até mesmo 0,001). Isso fornece fortes evidências de uma associação significativa entre o nível de escolaridade da mãe e o status de anemia da criança. Em outras palavras, os resultados do teste de qui-quadrado indicam que a probabilidade de uma criança ter anemia está significativamente associada ao nível de escolaridade da mãe.
Análise adicional: Acesso a valores de chisq.test()
Além do teste de hipótese, podemos recuperar determinados valores do objeto retornado pela função chisq.test()
:
Contagens observadas
Elas representam a contagem real de crianças com diferentes níveis de anemia em cada nível de escolaridade da mãe. As contagens observadas podem ser recuperadas no código a seguir:
# Observed counts
observed_counts <- chi_square_test$observed
print(observed_counts)
O resultado é o seguinte:
Contagens observadas. Imagem do autor.
Contagens esperadas
Essas contagens são calculadas com base no pressuposto de que não há associação entre o nível de escolaridade da mãe e o status de anemia da criança. As contagens esperadas podem ser recuperadas no código a seguir:
# Expected counts
expected_counts <- chi_square_test$expected
print(round(expected_counts, 2))
O resultado é o seguinte:
Contagens esperadas. Imagem do autor.
Resíduos de Pearson
Esses resíduos ajudam a identificar as maiores discrepâncias entre as contagens observadas e esperadas, indicando quais células contribuem mais para a estatística qui-quadrado. Os resíduos de Pearson podem ser recuperados com o seguinte código:
# Pearson residuals
pearson_residuals <- chi_square_test$residuals
print(round(pearson_residuals, 2))
O resultado é o seguinte:
Saída de resíduos. Imagem do autor.
Vamos tentar entender o que esses números residuais significam:
-
Resíduos positivos: Os resíduos positivos indicam que a contagem observada é maior do que a esperada. Por exemplo, um resíduo de
5.96
para "Not anemic" (Não anêmico) no grupo de educação "Higher" (Superior) significa que há um número significativamente maior de crianças não anêmicas do que o esperado entre as mães com educação superior. -
Resíduos negativos: Os resíduos negativos indicam que a contagem observada é menor do que a esperada. Por exemplo, um resíduo de
-5.74
para anemia "Moderada" no grupo de educação "Superior" sugere que há um número significativamente menor de crianças com anemia moderada do que o esperado entre as mães com educação superior. -
Resíduos grandes: Resíduos positivos ou negativos grandes sugerem um desvio significativo do que era esperado. Essas células são as que mais contribuem para a estatística do qui-quadrado. Por exemplo, o grande resíduo positivo para "Não anêmico" no grupo de educação "Superior" e o grande resíduo negativo para anemia "Moderada" no mesmo grupo indicam fortes desvios nos níveis de anemia das crianças com base no nível de educação da mãe.
-
Pequenos resíduos: Resíduos pequenos (próximos a 0) sugerem que as contagens observadas estão próximas das contagens esperadas, indicando um desvio mais fraco. Por exemplo, os resíduos da educação "Primária" nos níveis de anemia são relativamente menores, indicando que as contagens observadas e esperadas são mais próximas para esse grupo.
Diagrama de contribuição
Com base nos valores extraídos acima, a contribuição de cada célula para a estatística qui-quadrado pode ser calculada pelo código abaixo e convertida em uma porcentagem:
# Calculate contribution to chi-square statistic
contributions <- (observed_counts - expected_counts)^2 / expected_counts
# Calculate percentage contributions
total_chi_square <- chi_square_test$statistic
percentage_contributions <- 100 * contributions / total_chi_square
# Print percentage contributions
print("Percentage Contributions:")
print(round(percentage_contributions, 2))
O resultado que você verá é o seguinte:
Contribuições de porcentagemContribuições de porcentagem. Imagem do autor.
A contribuição calculada pode ser visualizada como um mapa de calor. Para isso, usaremos um pacote chamado pheatmap
, depois de instalar e carregar o pacote.
# Install and load heatmap package
install.packages("pheatmap")
library(heatmap)
# Create heatmap for percentage contributions
pheatmap(percentage_contributions,
display_numbers = TRUE,
cluster_rows = FALSE,
cluster_cols = FALSE,
main = "Percentage Contribution to Chi-Square Statistic")
A saída resultante é a seguinte:
Contribuição Contribuição percentual para o mapa de calor da estatística qui-quadrado. Imagem do autor.
Um mapa de calor como o acima com contribuições pode ser útil se você optar por realizar uma análise mais aprofundada para entender que tipo de associações existem depois de descobrirmos que existem associações com base nos resultados do teste qui-quadrado.
Conclusão
Este tutorial apresentou a você o teste qui-quadrado, seus diferentes tipos e as suposições subjacentes. Além disso, aprendemos a realizar o teste e a interpretar os resultados no R com visualização adicional usando um exemplo.
Os testes de qui-quadrado são comumente usados em testes de hipóteses e, em geral, em estatística. Considere a possibilidade de fazer um desses cursos para solidificar seu conhecimento sobre análise de dados e estatística usando o R:
- Curso de Introdução à Estatística em R
- Curso de análise exploratória de dados em R
- Curso de teste de hipóteses em R
Domine a IA para empresas
Saiba como extrair valor comercial da IA e dos LLMs.

Como cientista de dados sênior, eu projeto, desenvolvo e implanto soluções de aprendizado de máquina em larga escala para ajudar as empresas a tomar melhores decisões baseadas em dados. Como redator de ciência de dados, compartilho aprendizados, conselhos de carreira e tutoriais práticos e detalhados.
Perguntas frequentes
Qual é o objetivo de um teste qui-quadrado?
O teste do qui-quadrado é usado para determinar se há uma associação significativa entre duas variáveis categóricas.
O teste qui-quadrado pode ser usado com amostras pequenas?
Geralmente não é recomendado porque o teste requer uma frequência esperada de pelo menos 5 em cada célula para produzir resultados confiáveis.
O que os resíduos de Pearson indicam em um teste qui-quadrado?
Os resíduos de Pearson mostram o quanto cada célula da tabela de contingência contribui para a estatística qui-quadrado geral. Valores positivos indicam contagens observadas mais altas do que o esperado, e valores negativos indicam mais baixas.
Como faço para criar uma tabela de contingência no R para o teste qui-quadrado?
Use as funções table()
ou xtabs()
para criar uma tabela de contingência a partir de suas variáveis categóricas.
E se meus dados não atenderem às premissas de um teste de qui-quadrado?
Considere usar o teste exato de Fisher, que é mais apropriado para amostras pequenas ou quando as frequências esperadas são baixas.
Aprenda com a DataCamp
curso
Introdução à estatística
curso
Introdução à estatística em R
tutorial
Teste de qui-quadrado em planilhas

Avinash Navlani
10 min
tutorial
Testes T no tutorial do R: Saiba como realizar testes T
tutorial
Como fazer um histograma ggplot2 no R
Kevin Babitz
15 min
tutorial
Regressão linear múltipla no R: Tutorial com exemplos
tutorial
Tutorial de regressão logística no R
tutorial
Tutorial de regressão linear no R
Eladio Montero Porras
15 min