## 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 providing documentation and vignettes at https://jonnob.github.io/rSETSe/index.html . This is a very niche package so please feel free to reach out to me on twitter or through email with questions.

# Installation instructions

The package is available on CRAN and can be installed by running install.packages("rsetse").Alternatively it can be installed from github using the below method.

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

library(rSETSe)

#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_edges(k = 500, distance = 1) %>%
#prepare the network for a binary embedding
prepare_categorical_force(., node_names = "name",
force_var = "class")

#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,
force = "class_A",
tol = sum(abs(vertex_attr(g, "class_A")))/1000,
hyper_tol = 0.1,
hyper_iters = 3000,
verbose = T)


# Cite

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). https://doi.org/10.1007/s41109-020-00329-4