R build status Travis build status

An R package for embedding graphs using the SETSe algorithm

This is the R package for the Strain Elevation Tension Spring embeddings (SETSe) algorithm. SETSe is a deterministic graph embeddings algorithm. It converts the node attributes of a graph into forces and the edge attributes into springs. The algorithm finds an equilibrium position when the forces of the nodes are balanced by the forces on the springs. A full description of the algorithm is given in “The spring bounces back: Introduction to Strain Elevation Tension Spring embedding for network representation” (Bourne 2020). There is a website for the package at

Installation instructions

  1. Open R/Rstudio and ensure that devtools has been installed
  2. Run the following code library(devtools); install_github(“JonnoB/rSETSe”)
  3. Load the package normally using library(rsetse)
  4. All functions have help files e.g ?SETSe_auto

The package can also be downloaded or cloned then installed locally using the install function from devtools.

Basic use


#prepares a graph for embedding using SETSe
set.seed(234) #set the random see for generating the network
g <- generate_peels_network(type = "E") %>%
  #prepare the network for a binary embedding
  prepare_SETSe_binary(., node_names = "name", k = 1000, 
                       force_var = "class", 
                       positive_value = "A") 
#Embedds using the bi-connected auto-parametrization algorithm.
#This method is strongly reccomended, it tends to be much faster and almost always converges
embeddings <- SETSe_bicomp(g,
                           tol = sum(abs(vertex_attr(g, "force")))/1000,
                           hyper_tol = 0.1,
                           hyper_iters = 3000,
                           verbose = T)


To cite rsetse in publications use: Bourne, J. The spring bounces back: introducing the strain elevation tension spring embedding algorithm for network representation. Appl Netw Sci 5, 88 (2020).