Best Practices R

theme

If you like vscode theme, use https://github.com/anthonynorth/rscodeioarrow-up-right

dev_mode

devtools::dev_mode function switches your version of R into "development mode". This is useful to avoid clobbering the existing versions of CRAN packages that you need for other tasks. Calling dev_mode() again will turn development mode off, and return you to your default library setup.

# This will install the package in the folder C:/Rpackages
devtools::dev_mode(path="C:/Rpackages")

Reload the package

devtools::load_all()

or Ctrl + Shift + L

Add or update script files

.R files defined in tests\dev\ will be removed from the package and can be used to simulate interaction with the package. See scripts.Rarrow-up-right

Coding standards

Coding standards are described here

Useful literature

Examples of "good" packages

Examples of packages that can serve as inspiration:

Useful shortcuts

  • Show all shortcuts: Alt+Shift+K

  • Reload package: Cmd + Shift + L

  • Navigate to: Ctrl + .

  • Generate Doc: Ctrl + Shift + D

  • Run unit tests: Ctrl + Shift + T

  • Navigate to implementation: Mouse over + F2 or CTRL + Mouse Click

  • Un-/Comment line/selection: Ctrl + Shift + C

  • Multi-select: CTRL+SHIFT+ALT+M

Profiling with R-Studio

Profiling of code can be done within R-Studio with the package profvis, a description of the process is given herearrow-up-right. In short, pass the code to be profiled as argument to the function profvis:

Graphics

Snapshot testing

  • {ospsuite} uses snapshots to test the behavior of plot functions. Read Introduction to snapshot testing in Rarrow-up-right for information on how to.

  • Short summary:

    • The first time a test with snapshot is executed, it creates a snapshot file that will be considered the truth. Therefore it is important to check this file for its validity.

    • If the behavior of the tested function changes, the test will fail, as the new output will differ from the snapshot.

    • Run snapshot_review() to compare the new output with the snapshot.

    • If the new behavior is correct, accept the snapshot by calling snapshot_accept().

  • If build fails because of failing snapshot tests, never accept new snapshots without manual review.

Setting up Linux environment for R development

As an example, a Hyper-V Virtual Machine under Windows 10 is used. Currently tested with Ubuntu 19.10

  1. Install Ubuntu

  1. Install git

  • sudo apt install git

  1. Install nuget

  • sudo apt install nuget

  1. Install R

  • sudo apt install r-base

  1. Install R Studio

  1. Install OSPSuite-R

Last updated