20  Análise de dados categóricos

Muitos dos dados que coletamos não são expressos por números contínuos, mas sim por qualidades ou classificações. Pense em variáveis como o tipo de solo em uma parcela experimental, a espécie de uma planta em um levantamento de campo, o status de uma lavoura (sadia, infectada por fungo, atacada por praga) ou a presença ou ausência de uma espécie invasora. Essas são variáveis categóricas, e elas formam a espinha dorsal de inúmeras investigações ecológicas e agronômicas.

As variáveis categóricas se apresentam de duas formas principais:

Para investigar como essas variáveis se relacionam, nosso ponto de partida é a contagem. Quantos indivíduos, parcelas ou amostras se enquadram em cada combinação de categorias? Organizamos essas contagens em uma ferramenta visual e analítica fundamental: a Tabela de Dupla Entrada, também conhecida como Tabela de Contingência. Esta tabela funciona como um mapa, exibindo a distribuição conjunta das frequências e permitindo uma primeira avaliação da associação entre as variáveis.

Neste capítulo, iremos além da simples descrição de contagens e percentuais. Mergulharemos nos métodos estatísticos que nos permitem fazer inferências rigorosas sobre essas relações. Utilizaremos o teste qui-quadrado para avaliar a força dessas associações e, crucialmente, exploraremos como a presença de variáveis ocultas pode distorcer nossas conclusões, levando a inversões de resultados conhecidas como o Paradoxo de Simpson. Dominar a análise de dados categóricos é, portanto, essencial para interpretar corretamente os complexos padrões do mundo natural.

Exemplo 20.1 (Tabela de dupla entrada - teste qui-quadrado) É um fenômeno conhecido na jardinagem que a cor das flores de hortênsias (Hydrangea macrophylla) pode variar dependendo da acidez do solo. Um pesquisador decide quantificar essa observação em uma população de plantas. Ele coleta dados de arbustos de hortênsia, classificando o solo como ácido, neutro ou alcalino e a cor predominante das flores como azul/violeta ou rosa/vermelha.

As duas variáveis, acidez do solo e cor da flor, são categóricas. O objetivo é testar estatisticamente se a frequência das cores observadas está associada ao nível de acidez do solo, utilizando as contagens de plantas.

  • Variável explanatória (linha): Nível de Acidez do Solo
  • Variável resposta (coluna): Cor da Flor

O primeiro passo é criar a tabela de contingência com as funções tibble::tribble e tidyr::pivot_wider :

# Digitar os valores
hortensia <- tibble::tribble(
  ~solo, ~cor, ~frequencia,
  "ácido", "azul_violeta", 68,
  "ácido", "rosa_vermelha", 10,
  "neutro", "azul_violeta", 37,
  "neutro", "rosa_vermelha", 40,
  "alcalino", "azul_violeta", 8,
  "alcalino", "rosa_vermelha", 60
)

# Tabela de Contingência: Contagem de Hortênsias por Acidez do Solo e Cor da Flor
tabela_contingencia <- hortensia %>%
  tidyr::pivot_wider(names_from = cor, values_from = frequencia) %>%
  tibble::column_to_rownames(var = "solo")
tabela_contingencia
         azul_violeta rosa_vermelha
ácido              68            10
neutro             37            40
alcalino            8            60

Em seguida, executamos o teste qui-quadrado para a tabela de contingência. A hipótese nula (H0) para o teste qui-quadrado é que não há associação entre a acidez do solo e a cor da flor. Ou seja, a proporção de flores azuis e rosas seria a mesma, independentemente do pH do solo.

# Teste qui-quadrado
chisq.test(tabela_contingencia)

    Pearson's Chi-squared test

data:  tabela_contingencia
X-squared = 82,984, df = 2, p-value < 2,2e-16

O p-valor resultante (<0,001) é extremamene baixo, indicando que é praticamente impossível observar uma associação tão forte por mero acaso. Com isso, rejeitamos a hipótese nula.

Há uma evidência estatística muito forte de que a cor das flores de hortênsia está associada à acidez do solo.

Podemos inspecionar os valores esperados para cada categoria, os resíduos e a contribuição de cada célula para o valor do qui-quadrado.

# Valores esperados (se H0 for verdadeira)
teste_qui2$expected
         azul_violeta rosa_vermelha
ácido        39,52466      38,47534
neutro       39,01794      37,98206
alcalino     34,45740      33,54260
# Resíduos padronizados (ajudam a ver qual célula desvia mais do esperado)
teste_qui2$residuals
         azul_violeta rosa_vermelha
ácido       4,5293384    -4,5906867
neutro     -0,3230543     0,3274299
alcalino   -4,5071904     4,5682386
# Contribuição qui-quadrado
teste_qui2$residuals^2
         azul_violeta rosa_vermelha
ácido      20,5149065    21,0744039
neutro      0,1043641     0,1072104
alcalino   20,3147651    20,8688041

A tabela agora revela um padrão:

  • Em solos ácidos, há uma dominância esmagadora de flores azuis/violetas.
  • Em solos neutros, a frequência de flores azuis/violetas e rosas/vermelhas é equilibrada, mostrando uma condição de transição.
  • Em solos alcalinos, a tendência se inverte completamente, com uma forte dominância de flores rosas/vermelhas.
Dica

A tabela de dupla entrada pode ser calculada com o pacote gtsummary (veja abaixo)

pacman::p_load("gtsummary")

hortensia |>
  tidyr::uncount(frequencia) |>
  gtsummary::tbl_cross(
    row = solo,
    col = cor,
    percent = "row"
  ) |>
  gtsummary::add_p()
cor
Total p-value1
azul_violeta rosa_vermelha
solo


<0,001
    ácido 68 (87%) 10 (13%) 78 (100%)
    alcalino 8 (12%) 60 (88%) 68 (100%)
    neutro 37 (48%) 40 (52%) 77 (100%)
Total 113 (51%) 110 (49%) 223 (100%)
1 Pearson’s Chi-squared test

20.1 O Paradoxo de Simpson

Na análise de dados, uma das lições mais importantes é que as conclusões iniciais podem ser enganosas. As relações entre variáveis, especialmente em sistemas complexos como os agrícolas e naturais, nem sempre são o que parecem ser. Existe um fenômeno estatístico particularmente contraintuitivo que serve como um forte alerta para o analista de dados desavisado: o Paradoxo de Simpson.

O paradoxo ocorre quando uma associação ou comparação que é válida para diferentes grupos de dados se inverte quando esses grupos são combinados em um único conjunto. Essa inversão é causada pelos efeitos de uma variável oculta (também chamada de variável de confusão), que, ao não ser considerada na análise inicial, pode mascarar ou até mesmo reverter a verdadeira relação entre as duas variáveis de interesse.

Exemplo 20.2 (O programa de papacitação que piorou os agricultores) Uma agência de desenvolvimento rural criou um programa de capacitação voluntário para ensinar uma nova técnica de manejo de solo sustentável. O objetivo é aumentar a adoção dessa prática entre os agricultores de uma região. Após um ano, uma avaliação foi conduzida para medir o sucesso do programa, comparando os agricultores que participaram do curso com os que não participaram.

Os resultados agregados foram surpreendentes e preocupantes.

capacitacao <- tibble::tribble(
  ~pratica, ~curso, ~agricultores,
  "adotaram", "participou", 90,
  "não adotaram", "participou", 210,
  "adotaram", "não participou", 150,
  "não adotaram", "não participou", 150
)

capacitacao |>
  tidyr::uncount(agricultores) |>
  gtsummary::tbl_cross(
    row = curso,
    col = pratica,
    percent = "row"
  )
pratica
Total
adotaram não adotaram
curso


    não participou 150 (50%) 150 (50%) 300 (100%)
    participou 90 (30%) 210 (70%) 300 (100%)
Total 240 (40%) 360 (60%) 600 (100%)

À primeira vista, os dados sugerem que o programa de capacitação foi um fracasso. A taxa de adoção entre os agricultores que participaram do curso (30%) foi muito inferior à daqueles que não participaram (50%). A conclusão imediata seria que o programa é ineficaz ou até mesmo prejudicial, e deveria ser cancelado.

A Variável Oculta: O Nível de Experiência

Ao analisar o perfil dos participantes, observou-se que o nível de experiência dos agricultores influenciou na taxa de adoção:

  • Os agricultores iniciantes, sentindo-se menos seguros, são os que mais se inscreveram no curso para aprender.
  • Os agricultores experientes, muitos dos quais já utilizavam práticas sustentáveis semelhantes, não sentiram necessidade de participar.

Esta autoseleção dos participantes é um fator de confusão clássico. Para avaliar o real impacto do curso, é preciso analisar os grupos separadamente.

Para agricultores EXPERIENTES

capacitacao_experientes <- tibble::tribble(
  ~pratica, ~curso, ~agricultores,
  "adotaram", "participou", 40,
  "não adotaram", "participou", 10,
  "adotaram", "não participou", 140,
  "não adotaram", "não participou", 60
)

capacitacao_experientes |>
  tidyr::uncount(agricultores) |>
  gtsummary::tbl_cross(
    row = curso,
    col = pratica,
    percent = "row"
  )
pratica
Total
adotaram não adotaram
curso


    não participou 140 (70%) 60 (30%) 200 (100%)
    participou 40 (80%) 10 (20%) 50 (100%)
Total 180 (72%) 70 (28%) 250 (100%)

Dentro do grupo de agricultores experientes, o curso na verdade aumentou a taxa de adoção em 10 pontos percentuais, de 70% para 80%.

Para agricultores INICIANTES

capacitacao_iniciantes <- tibble::tribble(
  ~pratica, ~curso, ~agricultores,
  "adotaram", "participou", 50,
  "não adotaram", "participou", 200,
  "adotaram", "não participou", 10,
  "não adotaram", "não participou", 90
)

capacitacao_iniciantes |>
  tidyr::uncount(agricultores) |>
  gtsummary::tbl_cross(
    row = curso,
    col = pratica,
    percent = "row"
  )
pratica
Total
adotaram não adotaram
curso


    não participou 10 (10%) 90 (90%) 100 (100%)
    participou 50 (20%) 200 (80%) 250 (100%)
Total 60 (17%) 290 (83%) 350 (100%)

Entre os agricultores iniciantes, o curso também teve um impacto positivo claro, dobrando a taxa de adoção de 10% para 20%.

Conclusão do Paradoxo

O Paradoxo de Simpson se revela: o programa de capacitação foi benéfico para ambos os grupos, experientes e iniciantes. A aparente ineficácia na análise agregada foi uma ilusão estatística criada pelo fato de que o grupo de participantes era majoritariamente composto por iniciantes, que já partiam de uma base de adoção muito mais baixa.

Se a decisão de cancelar o programa fosse tomada com base na primeira tabela, uma iniciativa valiosa, que de fato ajuda os agricultores (especialmente os novatos), seria perdida. Este exemplo mostra a importância de entender “quem” compõe os grupos de dados em estudos de intervenção social e educacional em contextos rurais.