Learn R Programming

EGAnet (version 1.2.3)

jsd: Jensen-Shannon Distance

Description

Computes the Jensen-Shannon Distance between two networks

Usage

jsd(network1, network2, method = c("kld", "spectral"))

Value

Returns Jensen-Shannon Distance

Arguments

network1

Matrix or data frame. Network to be compared

network2

Matrix or data frame. Second network to be compared

method

Character. Method to compute Jensen-Shannon Distance. Defaults to "spectral". Options:

  • "kld" Uses Kullback-Leibler Divergence

  • "spectral" Uses eigenvalues of combinatiorial Laplacian matrix to compute Von Neumann entropy

Author

Hudson Golino <hfg9s at virginia.edu> & Alexander P. Christensen <alexander.christensen at Vanderbilt.Edu>

Examples

Run this code
# Obtain wmt2 data
wmt <- wmt2[,7:24]

# Set seed (for reproducibility)
set.seed(1234)

# Split data
split1 <- sample(
  1:nrow(wmt), floor(nrow(wmt) / 2)
)
split2 <- setdiff(1:nrow(wmt), split1)

# Obtain split data
data1 <- wmt[split1,]
data2 <- wmt[split2,]

# Perform EBICglasso
glas1 <- EBICglasso.qgraph(data1)
glas2 <- EBICglasso.qgraph(data2)

# Spectral JSD 
jsd(glas1, glas2) # 0.1618195

# Spectral JSS (similarity)
1 - jsd(glas1, glas2) # 0.8381805

# Jensen-Shannon Divergence
jsd(glas1, glas2, method = "kld") # 0.1923636

Run the code above in your browser using DataLab