# 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()