Skip to contents

Project Status: WIP – Initial development is in progress, but there has not yet been a stable, usable release suitable for the public. license metacran version metacran downloads mlmc status badge

Search for mathematicians on the Mathematics Genealogy Project and pull full ancestor and/or descendent academic genealogical data. The latter functionality is possible thanks to the WebSocket server run by @davidalber, which we access directly with kind permission. The package also provides functionality to export these genealogical datasets to different plotting environments.

Installation

The stable binary release can be install from CRAN:

install.packages("maths.genealogy")

The latest development binary can be installed from R-universe:

install.packages("maths.genealogy", repos = c("https://louisaslett.r-universe.dev", "https://cloud.r-project.org"))

Alternatively, you can install the development version from source on GitHub:

# install.packages("pak")
pak::pak("louisaslett/maths.genealogy")

Example

The first task is to identify the ID of the mathematician(s) you would like to build the genealogical data for. For the author of this package, that would be:

library("maths.genealogy")

search_id("Aslett", "Louis")

Then, one would retrieve the full genealogical tree, using the id identified in the search:

g <- get_genealogy(171971)

The simplest thing would then be to plot the whole genealogical tree:

Note you can also plot a shared genealogical tree by passing a vector of ids to get_genealogy(). So to see the shared genealogy of the package author and his former postdoc supervisor:

g <- get_genealogy(c(96119, 171971))
plot_gzviz(g)

This can be interesting to see where the trees share commonality and link together. To just hone in on the shortest path:

All the above functions take various options (see their documentation), so that for example more than two ids can be passed to get_genealogy() and then selective shortest path pairs be plotted with plot_gg_path() using appropriate function arguments.

For a slightly longer introduction, please see the Getting Started vignette