A Method for Deriving Information from Running R Code
Mark P.J. van der Loo
, The R Journal (2021) 13:1, pages 42-52.
Abstract It is often useful to tap information from a running R script. Obvious use cases include monitoring the consumption of resources (time, memory) and logging. Perhaps less obvious cases include tracking changes in R objects or collecting the output of unit tests. In this paper, we demonstrate an approach that abstracts the collection and processing of such secondary information from the running R script. Our approach is based on a combination of three elements. The first element is to build a customized way to evaluate code. The second is labeled local masking and it involves temporarily masking a user-facing function so an alternative version of it is called. The third element we label local side effect. This refers to the fact that the masking function exports information to the secondary information flow without altering a global state. The result is a method for building systems in pure R that lets users create and control secondary flows of information with minimal impact on their workflow and no global side effects.
Received: 2019-10-20; online 2021-07-13, supplementary material, (1.2 KiB)@article{RJ-2021-056, author = {Mark P.J. van der Loo}, title = {{A Method for Deriving Information from Running R Code}}, year = {2021}, journal = {{The R Journal}}, doi = {10.32614/RJ-2021-056}, url = {https://doi.org/10.32614/RJ-2021-056}, pages = {42--52}, volume = {13}, number = {1} }