Visualização gráfica de correlações

Agora você criou tabelas de saída no R. Muitas vezes, as correlações são representadas graficamente, pois são mais fáceis de serem processadas visualmente do que em uma tabela.

Neste ponto, você aprenderá duas maneiras de criar essas representações: uma com a biblioteca psych e outra com a biblioteca corrplot.

Biblioteca psych

A biblioteca psych oferece a função pairs.panels(), que é uma ótima maneira de representar graficamente as correlações e a associação entre variáveis. Na função, você fornece o conjunto de dados ou as variáveis que deseja usar. Em seguida, você especifica o método de correlação (pearson ou spearman). Como os dados são pseudométricos aqui, é útil usar o argumento jiggle = TRUE para evitar que os pontos de dados se sobreponham. Com o argumento adicional stars = TRUE, os asteriscos de significância convencionais são exibidos.

Dazu inclui a função pairs.panels() da biblioteca psych.

pairs.panels(
  pss[c(
    "stfdem",
    "trstprl",
    "trstlgl",
    "stfeco"
  )
  ],
  method = "pearson",   
  jiggle = TRUE,   # für pseudometrische Daten
  stars = TRUE  # Konvention für Signifikanzen
)               

A representação gráfica é a seguinte: No terço superior estão os coeficientes de correlação, na diagonal a distribuição univariada de cada variável e no terço inferior a distribuição bivariada do par de variáveis. Painel de Pares

Infelizmente, a função não é tão fácil de adaptar e expandir como os ggplots, que aprenderemos mais tarde no bloco de aprendizado 5. Lá você também aprenderá uma variante de ggplot para criar Painéis de Pares.

Biblioteca corrplot

Outra forma de representar várias correlações é através de um Mapa de Calor. Para criar este gráfico, você precisará da biblioteca corrplot e da função corrplot().

Um Mapa de Calor mostra a força da relação através da escolha de cores.

Mapa de Calor
Mapa de Calor

Primeiro, carregue o pacote corrplot:

install.packages("corrplot")
library("corrplot")

Em seguida, crie uma matriz de correlação, utilizando a função corr.test():

cor2 <- corr.test(
  pss[c(
    "trstprl",
    "trstplt",
    "trstprt",
    "trstlgl"
  )
  ],
  method = "pearson",
  use = "complete.obs"
) 

Como resultado, obtemos novamente um objeto list, que contém três matrizes: o valor de correlação, o tamanho da amostra e o valor p. No entanto, para o mapa de calor, precisamos apenas do valor de correlação e do valor p.

cor2
## Call:corr.test(x = pss[c("trstprl", "trstplt", "trstprt", "trstlgl")], 
##     use = "complete.obs", method = "pearson")
## Correlation matrix 
##         trstprl trstplt trstprt trstlgl
## trstprl    1.00    0.23    0.38    0.23
## trstplt    0.23    1.00    0.40    0.05
## trstprt    0.38    0.40    1.00    0.25
## trstlgl    0.23    0.05    0.25    1.00
## Sample Size 
##         trstprl trstplt trstprt trstlgl
## trstprl    4965    4954    4948    4953
## trstplt    4954    4989    4972    4977
## trstprt    4948    4972    4983    4971
## trstlgl    4953    4977    4971    4988
## Probability values (Entries above the diagonal are adjusted for multiple tests.) 
##         trstprl trstplt trstprt trstlgl
## trstprl       0       0       0       0
## trstplt       0       0       0       0
## trstprt       0       0       0       0
## trstlgl       0       0       0       0
## 
##  To see confidence intervals of the correlations, print with the short=FALSE option
ls(cor2)
##  [1] "adjust" "Call"   "ci"     "ci.adj" "ci2"    "n"      "p"      "p.adj" 
##  [9] "r"      "se"     "sef"    "stars"  "sym"    "t"

Agora você pode criar o gráfico:

corrplot(
  cor2$r, 
  p.mat = cor2$p,    # Matrix mit p-Werten
  insig = "blank",   # nicht signifikante = leer
  type = "upper",    # auch lower möglich
  method = "circle" # verschiedene Optionen möglich
)    
Mapa de Calor
Mapa de Calor

A biblioteca corrplot oferece uma série de outras configurações, que você pode ver aqui. Vamos nos aprofundar em gráficos no quinto bloco de aprendizado.