Cor em R: Guia Prático para Análise de Correlação

Você vai aprender quais cores funcionam no R e como usá-las para visualizar correlações de forma clara e prática.

Se precisa plotar correlações ou destacar grupos no R, entender a função cor e as paletas disponíveis resolve grande parte do trabalho de visualização.

Grupo de profissionais em reunião colaborativa em um escritório moderno e iluminado.

Ao longo deste texto, vou mostrar exemplos de como aplicar cores em gráficos e escolher paletas que evidenciam padrões de correlação.

Você também vai ver práticas que ajudam a evitar interpretações erradas dos dados.

Isso pode deixar suas análises muito mais comunicativas. E, sinceramente, bem mais fáceis de entender.

Como Usar a Função cor no R

A função cor calcula coeficientes de correlação entre vetores ou colunas de um data frame.

Vou explicar como chamar a função, quais argumentos usar, como gerar uma matriz de correlação e quando escolher Pearson, Spearman ou Kendall.

Sintaxe e Argumentos Principais

A chamada básica é cor(x, y = NULL, use = “everything”, method = “pearson”).

x pode ser um vetor numérico ou um data frame/matriz.

y é opcional; se você não passar nada, cor retorna uma matriz de correlação entre as colunas de x.

Sobre os argumentos:

  • use: controla como o R trata valores NA. Os mais usados são “everything”, “complete.obs” e “pairwise.complete.obs”.
  • method: “pearson”, “spearman” ou “kendall”. Escolha o método certo para seus dados.

A documentação do R (r documentation) traz mais detalhes.

A função aceita matrizes numéricas. Se tiver fatores, o R vai tentar converter, mas é melhor transformar tudo em numérico antes.

Cálculo de Correlação entre Vetores

Para dois vetores, use cor(df$x, df$y).

O resultado é um número só: o coeficiente de correlação.

Exemplo real: r <- cor(df$hours, df$score, use=”complete.obs”).

Pearson mede associação linear entre variáveis contínuas.

Spearman e Kendall já olham para a ordem dos valores (rank correlation) e aguentam melhor outliers e relações não lineares.

Se houver NAs, use=”complete.obs” para remover linhas com NA em qualquer vetor.

Se quiser usar todos os pares possíveis, tente use=”pairwise.complete.obs”, mas saiba que isso muda o tamanho da amostra de cada comparação.

Matriz de Correlação com Data Frames

Passe o data frame direto: cor(df) gera a matriz de correlação entre todas as colunas numéricas.

A saída é uma matriz com 1s na diagonal e coeficientes entre -1 e 1 nos outros lugares.

Antes de rodar cor, selecione só as colunas numéricas.

Exemplo: df_num <- df[sapply(df, is.numeric)].

Remova ou trate valores NA como precisar.

Você pode arredondar a matriz para exibição: round(cor(df_num), 2).

Essa matriz ajuda a ver quais pares têm correlação alta e pode ser base para heatmaps em pacotes como ggplot2.

Escolhendo o Método de Correlação

Escolha o method de acordo com o tipo de dado e o que você quer analisar.

  • “pearson”: padrão. Use para variáveis contínuas e relações lineares.
  • “spearman”: bom para relações monotônicas ou quando há outliers; transforma os dados em ranks.
  • “kendall”: também baseado em ranks; costuma ser preferido em amostras pequenas ou com muitos empates.

Spearman e Kendall são parecidos, mas Kendall geralmente dá valores menores e interpretações um pouco diferentes sobre concordância.

Pearson exige suposições (linearidade, homocedasticidade). Vale a pena checar antes de confiar cegamente no coeficiente.

Teste os métodos nos seus dados. E, se pintar dúvida, a documentação do R explica as fórmulas e limitações.

Práticas Essenciais para Análise de Correlação

Aqui estão passos práticos para tratar dados faltantes, testar significância, criar gráficos de matriz e interpretar coeficientes.

O foco é mostrar como aplicar funções e escolher opções que realmente afetam os números finais.

Tratamento de Valores Ausentes na Correlação

Valores ausentes podem distorcer os coeficientes.

No R, você pode excluir linhas inteiras (listwise/casewise) ou só os pares que faltam (pairwise).

Use cor(x, y, use = “complete.obs”) para excluir observações com qualquer NA nas variáveis analisadas.

Se quiser aproveitar todos os pares possíveis, use cor(x, y, use = “pairwise.complete.obs”), mas saiba que isso muda o tamanho da amostra para cada par.

Com funções do Hmisc, como rcorr(), você vê contagens por par e testes de significância.

Para somas e médias antes de correlacionar, use na.rm = TRUE para remover NAs.

Evite substituir NAs por média a menos que tenha um bom motivo; isso diminui a variância (sd) e afeta o coeficiente de correlação.

Se quiser ser rigoroso, diga qual método usou (complete.obs ou pairwise.complete.obs) e quantas observações restaram por par.

Isso ajuda a entender mudanças em cov, var e correlação.

Testando Significância e Intervalos de Confiança

Use cor.test() para testar hipótese sobre correlação entre duas variáveis.

A função retorna p-value e intervalo de confiança para o coeficiente de Pearson, Spearman ou Kendall.

Sempre cheque as suposições: normalidade para Pearson e monotonicidade para Spearman.

Para matrizes, Hmisc::rcorr() calcula correlações e p-values em bloco.

Combine rcorr() com corrplot para mostrar só relações significativas.

Relate o p-value e o intervalo de confiança ao interpretar força e direção.

Um p < 0.05 indica rejeição da hipótese nula, mas lembre que um coeficiente pequeno pode ser significativo em amostras grandes.

Ao reportar, inclua: coeficiente r, p-value, intervalo de confiança e número de pares usados.

Isso mostra transparência sobre variação (var), desvio padrão (sd) e confiabilidade do resultado.

Visualização da Matriz de Correlação

Use corrplot, ggplot2 ou corrgram para mostrar matrizes de correlação.

corrplot() facilita exibir cores e formas que indicam correlações positivas e negativas.

No ggplot2, transforme a matriz em tabela longa e use geom_tile() com uma escala de cor personalizada.

Inclua elementos úteis:

  • Anotações dos valores de r por célula.
  • Máscara para metade superior quando a matriz é simétrica.
  • Indicação de significância (asteriscos) baseada em p-values de rcorr().

Para conjuntos grandes, ordene variáveis por clustering para revelar blocos correlacionados.

Mostre também a matriz de covariância (cov) se quiser entender escala e unidade, já que cov varia com unidades enquanto correlação é adimensional.

Dicas para Interpretação dos Resultados

Separe direção e força: r > 0 indica correlação positiva. Já r < 0 aponta para uma correlação negativa.

Interprete magnitudes com calma — aquelas regras de 0.1 fraco, 0.3 moderado, 0.5 forte são só guias, não uma verdade absoluta. Olhe para variância e desvio padrão das variáveis também.

Se a variabilidade for baixa, a correlação pode acabar mascarada. E, olha, não caia na armadilha da causalidade: correlação não significa que uma coisa causa a outra.

Fique de olho em outliers, porque eles podem inflar covariância e o r. Recomendo usar scatterplots para cada par antes de confiar cegamente no número.

Se estiver lidando com matrizes grandes, preste atenção nos pares com r alto e p pequeno. Mas, não esqueça de conferir o tamanho da amostra pra cada par (all.obs versus pairwise).

Quando for reportar os resultados, lembre de incluir:

  • O método para NAs (por exemplo, use = “complete.obs”),
  • Qual função usou (cor, cor.test, rcorr),
  • Valores de r, p-values, intervalos de confiança,
  • E estatísticas auxiliares (cov, var, sd) se fizerem sentido.

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Este site utiliza o Akismet para reduzir spam. Saiba como seus dados em comentários são processados.

Rolar para cima