#' Extract data about the functions in a function map
#'
#' Returns a data frame, where each row is a function in the function
#' map. The data frame includes functions that are in (other) R
#' packages, and are called from the mapped script, folder or package.
#'
#' @param map The function map object.
#' @return A data frame with one row for each function in the map.
#' Current columns:
#'   \item{ID}{The name of the function.}
#'   \item{own}{Whether it is a function in the mapped script, folder or
#'     package.}
#'   \item{exported}{Whether it is an exported function of the package.
#'     For scripts and folders it is always \code{FALSE}.}
#'
#' @export
node_df <- function(map) {
  map$node_df
}
#' Extract data about the edges (function calls) in a function map
#'
#' @param map The function map.
#' @return A data frame with columns:
#'   \item{from}{Calling function.}
#'   \item{to}{Called function.}
#'   \item{type}{Call type.}
#'   \item{line}{Line number.}
#'   \item{col1}{Starting column number.}
#'   \item{col2}{Ending column number.}
#'
#' @export
edge_df <- function(map) {
  map$edge_df
}
#' All functions of a function map of a package or script
#'
#' @param map Function map.
#' @export
functions <- function(map) {
  ndf <- node_df(map)
  sort(ndf$ID[ ndf$own ])
}
#' All functions that called in a package or R script
#'
#' @param map Function map.
#' @return Character vector of functions called.
#' @export
functions_called <- function(map) {
  edf <- edge_df(map)
  sort(unique(edf$to))
}
#' Functions that are never used in a package
#'
#' These are the functions that are never called by an exported
#' function, neither directly, nor indirectly.
#'
#' @param map Function map.
#' @export
unused_functions <- function(map) {
  if (!is(map, "function_map_rpackage")) {
    stop("This only works for R packages")
  }
  g <- get_graph(map)
  isolates(g, map$exports)
}
#' Dependencies of all functions
#'
#' @param map Function map.
#' @param multiples Whether to keep multiple function calls to
#'   the same function, i.e. duplicates in the list.
#' @return Named list of character vectors.
#'
#' @export
deps <- function(map, multiples = FALSE) {
  if (multiples) {
    deps_multiples(map)
  } else {
    d <- deps_multiples(map)
    structure(lapply(d, unique), names = names(d))
  }
}
deps_multiples <- function(map) {
  func <- functions(map)
  edges <- edge_df(map)
  structure(
    lapply(func, function(f) {
      edges$to[ edges$from == f]
    }),
    names = func
  )
}
#' Reverse dependencies of all functions
#'
#' @param map Function map.
#' @param multiples Whether to keep multiple calls from the same
#'   function.
#' @return Named list of character vectors.
#'
#' @export
rev_deps <- function(map, multiples = FALSE) {
  deps <- deps(map, multiple = multiples)
  twist_graph(deps)[functions(map)]
}
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.