ggcorrplot()

Auch als ggplot können Korrelationsplots erstellt werden. Dazu nutzt du wieder die library GGally.

library("GGally")

Hier verwendest du jetzt die Funktion ggcorr(): Nicht metrische Variablen werden automatisch ausgeschlossen.

ggcorr(pss)
## Warning in ggcorr(pss): data in column(s) 'district', 'gndr', 'edu', 'income'
## are not numeric and were ignored

Im zusätzlichen Argument method kannst du angeben, wie mit NA's umgegangen werden soll, und welche Art von Korrelation berechnet werden soll (pearson, spearman, kendall):

ggcorr(
  pss,
  method = c(
    "pairwise",
    "pearson"
  )
)
## Warning in ggcorr(pss, method = c("pairwise", "pearson")): data in column(s)
## 'district', 'gndr', 'edu', 'income' are not numeric and were ignored

Zusätzlich kannst du mit label = TRUE den Korrelationskoeffizienten auch anzeigen lassen:

ggcorr(
  pss,
  method = c(
    "pairwise",
    "pearson"
  ),
  label = TRUE
)
## Warning in ggcorr(pss, method = c("pairwise", "pearson"), label = TRUE): data
## in column(s) 'district', 'gndr', 'edu', 'income' are not numeric and were
## ignored

Mit dem Argument label_round stellst du die Dezimalzeichen fest:

ggcorr(
  pss,
  method = c(
    "pairwise",
    "pearson"
  ),
  label = TRUE,
  label_round = 2
)
## Warning in ggcorr(pss, method = c("pairwise", "pearson"), label = TRUE, : data
## in column(s) 'district', 'gndr', 'edu', 'income' are not numeric and were
## ignored

Im Argument geom kannst du zwischen tile, circle, text oder blank auswählen.

ggcorr(
  pss,
  method = c(
    "pairwise",
    "pearson"
  ),
  label = TRUE,
  label_round = 2,
  geom = "circle"
)
## Warning in ggcorr(pss, method = c("pairwise", "pearson"), label = TRUE, : data
## in column(s) 'district', 'gndr', 'edu', 'income' are not numeric and were
## ignored

Zuguterletzt kannst du im Argument palette noch drei Farben angeben (\(-1\), \(0\), \(1\)), die die Farbskala bilden sollen: Ich greife hier wieder auf beyonce zurück! Wichtig: Du gibst hier nicht die ganze Palette an, sondern eine Farbe aus der jeweiligen Palette, deshalb in [..]-Klammern noch eine zusätzliche Zahl!

ggcorr(
  pss,
  method = c(
    "pairwise",
    "pearson"
  ),
  label = TRUE,
  label_round = 2,
  geom = "circle",
  low = beyonce_palette(72)[1],
  mid = "white", 
  high = beyonce_palette(72)[2]
)
## Warning in ggcorr(pss, method = c("pairwise", "pearson"), label = TRUE, : data
## in column(s) 'district', 'gndr', 'edu', 'income' are not numeric and were
## ignored

Alternativ kannst du auch noch die limits ändern. Das kann hilfreich sein, wenn deine Korrelationswerte nicht sehr hoch sind und alle nur sehr schwach farbig sind. Mit limits = FALSE werden automatisch die Endpunkte gesetzt (entsprechend den Daten!).

ggcorr(
  pss,
  method = c(
    "pairwise",
    "pearson"
  ),
  label = TRUE,
  label_round = 2,
  geom = "circle",
  low = beyonce_palette(72)[1],
  mid = "white", 
  high = beyonce_palette(72)[2],
  limits = FALSE
)
## Warning in ggcorr(pss, method = c("pairwise", "pearson"), label = TRUE, : data
## in column(s) 'district', 'gndr', 'edu', 'income' are not numeric and were
## ignored

Wichtig: In ggcorr() können nicht signifikante Werte nicht ausgeblendet werden, da die Autorin dieser Funktionen (zu Recht) gegen eine Fokussierung auf das Signifikanzniveau ist.

Mehr zum Funktionsumfang in ggcorr() findest du hier.

Gehen wir nun weiter zu der Darstellung von Mittelwertvergleichen.