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:
library(devtools)install_github("sambaala/linkspotter")Behind a proxy:
library(devtools)library(httr)set_config( use_proxy(url="<my_proxy>", port=<my_proxy_port>))install_github("sambaala/linkspotter")Load the package:
library(linkspotter)Take 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)Linskpotter UI example on 'iris' data
The variables corresdond 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 correlatuion, 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, visNetwork, rAmCharts, ggplot2 and Hmisc.