27.16 Assignment
20200105
Avoid using base::= for assignment. It was introduced in S-Plus in the late 1990s as a convenience but is ambiguous (named arguments in functions, mathematical concept of equality). The traditional backward assignment operator base::<- implies a flow of data and for readability is explicit about the intention.
Preferred
<- 42
a <- mean(x) b
Discouraged
= 42
a = mean(x) b
The forward assignment base::-> should generally be avoided. A single use case justifies it in pipelines where logically we do an assignment at the end of a long sequence of operations. As a side effect operator it is vitally important to highlight the assigned variable whenever possible and so out-denting the variable after the forward assignment to highlight it is recommended.
Preferred
%>%
ds[vars] sapply(function(x) all(x == x[1L])) %>%
which() %>%
names() %T>%
print() ->
constants
Traditional
<-
constants %>%
ds[vars] sapply(function(x) all(x == x[1L])) %>%
which() %>%
names() %T>%
print()
Discouraged
%>%
ds[vars] sapply(function(x) all(x == x[1L])) %>%
which() %>%
names() %T>%
print() ->
constants
Your donation will support ongoing availability and give you access to the PDF version of this book. Desktop Survival Guides include Data Science, GNU/Linux, and MLHub. Books available on Amazon include Data Mining with Rattle and Essentials of Data Science. Popular open source software includes rattle, wajig, and mlhub. Hosted by Togaware, a pioneer of free and open source software since 1984. Copyright © 1995-2022 Graham.Williams@togaware.com Creative Commons Attribution-ShareAlike 4.0
