knitr::opts_chunk$set( collapse = TRUE, comment = "#>", fig.path = "man/figures/README-", out.width = "100%" ) library(lobstr)
lobstr provides tools in the same vein as str()
, which allow you to dig into the detail of an object.
Install the released version of lobstr from CRAN:
install.packages("lobstr")
You can install the development version with:
# install.packages("pak") pak::pak("r-lib/lobstr")
ast()
draws the abstract syntax tree of R expressions:
ast(a + b + c) ast(function(x = 1) { if (x > 0) print("Hi!") })
ref()
shows hows objects can be shared across data structures by digging into the underlying references:
x <- 1:1e6 y <- list(x, x, x) ref(y) e <- rlang::env() e$self <- e ref(e)
A related tool is obj_size()
, which computes the size of an object taking these shared references into account:
obj_size(x) obj_size(y)
cst()
shows how frames on the call stack are connected:
f <- function(x) g(x) g <- function(x) h(x) h <- function(x) x f(cst())
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.