A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from https://github.com/ixpantia/orbweaver-r below:

ixpantia/orbweaver-r: Orbweaver is an R package that optimizes the processing of graph data structures.

orbweaver

A fast R library for working with Nodes in a graph.

igraph is an amazing network analysis package. igraph is much more mature and orbweaver focuses on extreme performance and low latency operations. If you need super high performance and do not require weighted graphs, orbweaver may be for you.

igraph vs orbweaver benchmark

We may add weighted graph in the future but for not it is not in the short-term road map.

Before installing this package, you will need to install the Rust toolchain.

If you are on Mac or Linux, you can do this by running the following command in your terminal:

curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh

If you are on Windows, you can download the installer from here.

In order to compile this package manually, you will need the GNU ABI used by the GCC toolchain. This is not the default on Windows, so you will need to install the toolchain manually. You can do this by running the following command in your terminal:

rustup toolchain install stable-gnu

If you are on Windows you may need to install Rtools as well. You can download the installer from here.

You can install orbweaver from CRAN with:

install.packages("orbweaver")

You can install orbweaver from GitHub with:

# install.packages("remotes")
remotes::install_github("ixpantia/orbweaver-r")
library(orbweaver)

edges <- data.frame(
  parent = c("A", "B", "C", "C", "F"),
  child = c("B", "C", "D", "E", "D")
)

graph <- graph_builder() |>
  populate_edges(edges, "parent", "child") |>
  build_directed()

graph
#> # of nodes: 6
#> # of edges: 5
#> # of roots: 2
#> # of leaves: 2
#> 
#> |     Parent      |      Child      |
#> | --------------- | --------------- |
#> | A               | B               |
#> | B               | C               |
#> | C               | E               |
#> | C               | D               |
#> | F               | D               |

graph |> find_all_paths(from = "A", to = "D")
#> [[1]]
#> # of nodes: 4
#> |           Nodes           |
#> |             A             |
#> |             B             |
#> |             C             |
#> |             D             |

RetroSearch is an open source project built by @garambo | Open a GitHub Issue

Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo

HTML: 3.2 | Encoding: UTF-8 | Version: 0.7.4