knitr::opts_chunk$set( collapse = TRUE, comment = "#>" )
It is quite impressive how, since more or less ten years, more and more people at our research institute Kompetenzzentrum Wasser Berlin began to use the programming language R to support their daily data-related work. As a result, we are currently hosting more than one thousand R scripts in our internal version control system.
It is difficult to keep control over so many files.
Therefore, this package contains a function that aims at giving an overview
of R script files and the functions defined within these files.
Use the function report_about_r_scripts()
to create an R Markdown document
about all the R script files below a certain root directory:
kwb.fakin::report_about_r_scripts(root = "path/to/your/script/folder")
With the (private) helper functions github_package_path()
and
github_package_files()
that are also contained in the package, we can also
report on the R files that are contained in an R package hosted on
GitHub.
For example, we can have a look at the files that are contained in this package.
They are available in the repository
kwb.fakin on our
GitHub account:
repo <- "kwb-r/kwb.fakin" kwb.fakin::report_about_r_scripts( root = kwb.fakin:::github_package_path(repo, "R"), scripts = kwb.fakin:::github_package_files(repo, "R"), show = FALSE )
We set show
to FALSE
in order to prevent that the created HTML file is
opened in a browser.
A shortcut to the above call is:
kwb.fakin::report_about_github_package("kwb-r/kwb.fakin", show = FALSE)
It is up to you to compare with what the great guys do. Try e.g.
kwb.fakin::report_about_github_package("tidyverse/dplyr")
To find out what R-packages are used in our R-scripts, you may use the
function get_names_of_used_packages
of our kwb.code
package:
#devtools::install_github("kwb-r/kwb.code") # Define the top level directory in which to look recursively for R-scripts root_dir = "~/Desktop/R-Development/RScripts" # Get the names of the packages that are loaded in the scripts with "library()" packages <- kwb.code::get_names_of_used_packages(root_dir) # Print the script names writeLines(packages)
The base function file.info
can be used to get detailed information about
a file. The package kwb.fakin
contains a function that calls this function
on all files that are below a certain root folder:
# Define the root directory root_dir <- system.file(package = "kwb.fakin") # Get information on all files in this directory file_info <- fakin.path.app::get_recursive_file_info(root_dir) # Get information on R scripts only... file_info_scripts <- fakin.path.app::get_recursive_file_info(root_dir, "[.]R$") print(utils::sessionInfo()) # Show the structure of the result str(structure(file_info_scripts, class = "data.frame"))
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.