Compute and visualize using the 'visNetwork' package all the bivariate correlations of a dataframe. Several and different types of correlation coefficients (Pearson's r, Spearman's rho, Kendall's tau, distance correlation, maximal information coefficient and equal-freq discretization-based maximal normalized mutual information) are used according to the variable couple type (quantitative vs categorical, quantitative vs quantitative, categorical vs categorical).
Linkspotter is a package of the R software that mainly allows to calculate and visualize using a graph all the bivariate links of a dataset.
Its main features are:
It also offers a customizable user interface, allowing to:
Available link coefficients are:
install.packages("linkspotter")
current development version from GitHub:
library(devtools)
install_github("sambaala/linkspotter")
Load the package:
library(linkspotter)
Have a look at the documentation:
help(package="linkspotter")
The examples are carried out using 'iris' data.
maxNMI(iris$Sepal.Length,iris$Petal.Length)
corCouples<-multiBivariateCorrelation(iris)
print(corCouples)
The Pearson correlation matrix:
corMatrixPearson<-corCouplesToMatrix(x1_x2_val = corCouples[,c('X1','X2',"pearson")])
print(corMatrixPearson)
The MaxNMI matrix:
corMatrixMaxNMI<-corCouplesToMatrix(x1_x2_val = corCouples[,c('X1','X2',"MaxNMI")])
print(corMatrixMaxNMI)
cl<-clusterVariables(corMatrix = corMatrixMaxNMI)
print(cl)
linkspotterGraph(corDF = corCouples, variablesClustering = cl,
corMethod = "pearson", minCor = 0.25, smoothEdges = FALSE,
dynamicNodes = FALSE)
linkspotterGraph(corDF = corCouples, variablesClustering = cl,
corMethod = "MaxNMI", minCor = 0.25, smoothEdges = F,
dynamicNodes = TRUE)
linkspotterUI(dataset = iris, corDF = corCouples,
variablesClustering = cl, appTitle = "Linkspotter example")
Complete Linkspotter computation:
lsiris<-linkspotterComplete(iris)
Complete Linkspotter computation from an external file:
lsiris<-linkspotterOnFile("iris.csv")
summary(lsiris)
summary(lsiris)
Then launch the user interface (linkspotter shiny app) on port 8000 for example:
lsiris$launchShiny(options=list(port=8000))
Help:
help(linkspotterComplete)
The variables correspond to the nodes and their links correspond to the edges. Node color depends on the clustering. Edge color depends on the correlation direction quantitative couples (blue: positive correlation, red: negative correlation).
It produces the following:
Its type depends on the nature of the corresponding link:
It displays all the measurements calculated for the link corresponding to the clicked edge. When at least one of the variables is qualitative, only the MaxNMI has a value.
It produces the following:
Its type depends on the nature of the corresponding variable:
Its type depends on the nature of the variable:
This tab displays 2 tables:
The Correlation coefficient option allows you to choose the coefficient of correlation to be considered among those calculated initially.
Linkspotter uses and combine features coming from several other R packages, namely 'infotheo', 'minerva', 'energy', 'mclust', 'shiny', 'shinybusy', 'visNetwork', 'rAmCharts' and 'ggplot2'.