Integrating bullseye with other packages.

There are many other packages for visualising correlation or similar information. Here we show how pairwise structures produced by bullseye can be displayed with these visualisations provided by these packages.

Conversely, we show how correlation or correlation-like information provided by other packages can be displayed using bullseye.

# install.packages("palmerpenguins")

library(bullseye)
library(dplyr)
library(ggplot2)
peng <-
  rename(palmerpenguins::penguins, 
           bill_length=bill_length_mm,
           bill_depth=bill_depth_mm,
           flipper_length=flipper_length_mm,
           body_mass=body_mass_g)

Using data structures from bullseye with other packages

corrplot visualisations

The package corrplot provides correlation displays in matrix layout. Standard usage builds a correlation matrix with cor and plots it with corrplot.

To show bullseye results:

sc <- pairwise_scores(peng) # includes factors, unlike `cor`
  
corrplot::corrplot(as.matrix(sc), diag=FALSE)

# corrplot::corrplot(as.matrix(sc, default=1)) # to show 1 along the diagoonal

linkspotter visualisations

The linkspotter package calculates and visualizes association for numeric and factor variables using a network layout plot. The nodes show the variables and the edges represent the measure of association between pair of variables. Absolute correlation is mapped to edge width.

linkspotter::linkspotterGraphOnMatrix(as.data.frame(as.matrix(sc)),minCor=0.7)

Using bullseye visualisations with other packages.

The correlation package offers calculation of a variety of correlations, including partial correlations, Bayesian correlations, multilevel correlations, polychoric correlations, biweight, percentage bend or Sheperd’s Pi correlations, distance correlation and more. The output data structure is a tidy dataframe with a correlation value and correlation tests for variable pairs for which the correlation method is defined. This is converted to pairwise via the as.pairwise method.

# install.packages("correlation")
library(correlation)
sc_cor <- correlation(peng, method = "distance")
plot(as.pairwise(sc_cor))

Multiple measures from correlation can also be used:

sc_multi<- bind_rows(
  as.pairwise(correlation(peng, method = "pearson")),
  as.pairwise(correlation(peng, method = "biweight")))
plot(sc_multi)

Using other visualisations with bullseye results.

In this example we compare ace and nmi measures for the penguin data

pm <- pairwise_multi(peng)
tidyr::pivot_wider(pm, names_from=score, values_from = value) |>
  ggplot(aes(x=nmi, y=ace))+ geom_point()