27.10 Alignment

20200105

Align the assignment operator for blocks of assignments. It is easier for us to read the assignments in a tabular form than it is when it is jagged. This is akin to reading data in tables—such data is much easier to read when it is aligned. Space is used to enhance readability.

Preferred

a       <- 42
another <- 666
b       <- mean(x)
brother <- sum(x)/length(x)

Default

a <- 42
another <- 666
b <- mean(x)
brother <- sum(x)/length(x)

We might choose to align %>% in pipelines and base::+ for layers for a visual symmetry to avoid the operators being lost amongst the text. This requires extra work and is not supported by editors and there is a risk the operator too far to the right is overlooked on an inspection of the code.

Preferred

ds        <- weatherAUS
names(ds) <- rattle::normVarNames(names(ds))
ds %>%
  group_by(location) %>%
  mutate(rainfall=cumsum(risk_mm)) %>%
  ggplot(aes(date, rainfall)) +
  geom_line() +
  facet_wrap(~location) +
  theme(axis.text.x=element_text(angle=90))

Alternative

ds        <- weatherAUS
names(ds) <- rattle::normVarNames(names(ds))
ds                                         %>%
  group_by(location)                       %>%
  mutate(rainfall=cumsum(risk_mm))         %>%
  ggplot(aes(date, rainfall))               +
  geom_line()                               +
  facet_wrap(~location)                     +
  theme(axis.text.x=element_text(angle=90))


If you find this curated material useful then you can consider a donation to support it's ongoing availability and give you access to the PDF version of this book. The material has been scoped up by Generative AI without permission or any kind of recompense so do consider a donation if you can afford it. Unlike Generative AI your access to this materials is freely given. Desktop Survival Guides include Data Science, GNU/Linux, and MLHub. Books available on Amazon include Data Mining with Rattle and Essentials of Data Science. Togaware has a 30 year tradition of making popular open source software which includes sold privacy preserving productivity apps, 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