Generally, we follow Hadley Wickham's R style guide.

Most importantly: Use <- for assignment, not =. Operators do get spacing, parentheses do not: if (x + 1) print("yes") Use short, clear, and consistent variable names. [[Clearly comment your code and data|Documentation]].

Standard R packages

We're using a standard set of R packages to handle many tasks–mostly from what is known as the tidyverse. These include: dplyr for data manipulation and processing; tidyr for data reshaping; assertthat for assertions; tibble for better data frames; * magrittr for building pipelines.

Pipelines

A word about pipelines: we aim to use these consistently and when it makes sense...but don't take things to extremes. Sometimes y <- f(g(x)) really is the clearest notation.

Things NOT to use

The package tests will raise an error for all of these: R's match() function The reshape or reshape2 packages (i.e. melt or cast) Loops (this is not an ironclad prohibition, but should be very rare) R's ifelse function - if necessary use dplyr::if_else instead Any of R's apply family of functions, rowMeans, etc. (again, with rare exceptions) Successive mutate() calls. See Hints for speed



JGCRI/gcamdata documentation built on March 21, 2023, 2:19 a.m.