10.12 Lag Variable Calculations

20220523 A common task in wrangling a dataset is to calculate the difference between a current value and that from the previous row. The function data.table::lag() can be used to do this, in combination with data.table::first() to get the first value.

"gas_consumption.csv" %>%
  read_csv(show_col_types=FALSE) %T>%
  mutate(diff=cost-lag(cost, default=first(cost))) %>%
  mutate(elapsed=timestamp-lag(timestamp, default=first(timestamp))) %>%
  ...

When a dplyr::group_by() operation is in effect the data.table::first() is determined as the first within the group.



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