parse_packages {automagic} | R Documentation |
Parse R code for required packages
Description
Parses an R or R Markdown file for the package names that would be required to run the code.
Usage
parse_packages(fl)
Arguments
fl |
file to parse for required package names |
Details
This function uses regular expressions to search through a file
containing R code to find required package names. It extracts not only
package names denoted by library
and require
, but also
packages not attached to the global namespace, but are still called with
::
or :::
.
Because it relies on regular expressions, it assumes all packages adhere to
the valid CRAN package name rules (contain only ASCII letters, numbers, and
dot; have at least two characters and start with a letter and not end it a
dot). Code is also tidying internally, making the code more predictable and
easier to parse (removes comments, adds whitespace around operators, etc).
R Markdown files are also supported by extracting only R code using
purl
.
Value
a vector of package names as character strings
See Also
install_package_guess
, automagic
Examples
## Not run:
cat('library(ggplot2)\n # library(curl)\n require(leaflet)\n CB::date_print()\n',file='temp.R')
parse_packages('temp.R')
unlink('temp.R')
## End(Not run)