simplifyNet

Package for network sparsification.

Description

An R package for network sparsification with a variety of novel and known network sparsification techniques. All network sparsification reduce the number of edges, not the number of nodes. A network is usually a large, complex weighted graph obtained from real-world data. It is commonly stored as an adjacency matrix or edge list. Network sparsification is sometimes referred to as network dimensionality reduction.

Getting Started

Install and load devtools package:

install.packages("devtools")

Use install_github function to pull and install simplifyNet in your session:

install_github("kramera3/simplifyNet")

Prerequisites

The following packages are required:

igraph, sanic, Matrix, tidyr, methods, fields, stats, dplyr

Also set up the working directory:

setwd("<em>working directory</em>")

simplifyNet

simplifyNet is a R package for network sparsification. It contains a suite of different network sparsification algorithms to output a sparsified network.

Global Network Sparsification:

Global network sparsification. Uses a threshold cutoff to remove all edges below a certain edge weight or removes a certain proportion of lowest edge weight edges.

gns(E_List, remove.prop, cutoff)

Arguments

LANS:

Local Adaptive Network Sparsification from the paper by Foti et al.

lans(Adj, remove.prop, output)

Arguments

Sparsification by Edge Effective Resistances:

Sparsification by sampling edges proportional to their effective resistances as formulated by Spielman and Srivastava. This requires two discrete steps: (1) approximating the effective resistances for all edges, (2) sampling them according to the method devised by Spielman and Srivastava.

effR = EffR(E_List, epsilon, type="kts", tol)
EffRSparse(n, E_List, q, effR)
  1. EffR, effective resistances calculator.

  2. EffRSparse, network sparsification through sampling effective resistances.

Authors

Method Acknowledgements

License