jsd {EGAnet}R Documentation

Jensen-Shannon Distance

Description

Computes the Jensen-Shannon Distance between two networks

Usage

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

Arguments

network1

Matrix or data frame. Network to be compared

network2

Matrix or data frame. Second network to be compared

method

Character (length = 1). Method to compute Jensen-Shannon Distance. Defaults to "spectral". Available options:

  • "kld" — Uses Kullback-Leibler Divergence

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

Value

Returns Jensen-Shannon Distance

Author(s)

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

Examples

# 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.1595893

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

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


[Package EGAnet version 2.0.6 Index]