Go to TogaWare.com Home Page. Data Science Desktop Survival Guide
by Graham Williams
Duck Duck Go

Function Call Layout

20200105

resume
Don't add spaces around = for named arguments in parameter lists. Visually this ties the named arguments together and highlights this as a parameter list. This style is at odds with the default R printing style and is the only situation where I tightly couple a binary operator. In all other situations there should be a space around the operator.

Preferred

readr::read_csv(file="data.csv", skip=1e5, progress=FALSE)

Discouraged

read_csv(file = "data.csv", skip =
         1e5, progress
         = FALSE)

For long parameter lists improve readability using a table format aligning on the =.

Preferred

readr::read_csv(file     = "data.csv",
                skip     = 1e5,
                progress = FALSE)

All but the final argument to a function call can be easily commented out. However, the latter arguments are often optional and whilst exploring them we will likely comment them out. An alternative puts the comma at the beginning of the line to easily comment out specific arguments except for the first one, which is usually more important and often non-optional. This is common amongst SQL programmers and can be useful for R.

Usual

dialPlot(value       = 78,
         label       = "UseR!",
         label_cex   = 3,
         label_color = "black")

Alternative

dialPlot(value       = 78
       , label       = "UseR!"
       , label_cex   = 3
       , label_color = "black"
        )

Discouraged

dialPlot( value=78, label="UseR!",
         label_cex=3, label_color="black")


Support further development by purchasing the PDF version of the book.
Other online resources include the GNU/Linux Desktop Survival Guide.
Books available on Amazon include Data Mining with Rattle and Essentials of Data Science.
Popular open source software includes rattle and wajig.
Hosted by Togaware, a pioneer of free and open source software since 1984.
Copyright © 2000-2020 Togaware Pty Ltd. . Creative Commons ShareAlike V4.