Day 25: Gravity π·

Day 25: Gravity π·
Day 24: So many connections. I have to admit that Iβm surprised it actually works π·
Although I’m generally aligned with longtermism, this essay in Aeon points out important (if slightly hyperbolic) tradeoffs that have to be considered. As with so many things, we need to find ways to fix today’s problems while also keeping an eye on the future
Great weather for apple picking π
Day 23: Lots of meaning to discern when playing Codenames π·
Murderbot is one of my favourite characters from the past couple of years. So, this origin story from Martha Wells was fun to read
Day 22: Having a rest with friends π·
Day 21: An impressive space at the foot of a mountain π·
Day 20: Iβm looking forward to resuming winter sports π·
Day 19: Mirror in a lake π·
Morning arising π·
Day 18: Lucy is finished for the day π·
Day 17: No need for a compass when hiking in the city, just follow the sound of traffic π·
Day 16: Rotation π·
Day 15: Ethereal π·
Day 14: My favourite wheels as a kid π·
Day 13: Lucy is a couch animal π·
Day 12: Rock legends π·
Day 11: Hygge π·
Statistics Canada has a wealth of data that are essential for good public policy. Often a good third of my analytical scripts are devoted to accessing and processing data from the Statistics Canada website, which always seems like a waste of effort and good opportunity for making silly errors. So, I was keen to test out the cansim
package for R to see how it might help. The quick answer is “very much”.
The documentation for the cansim
package is thorough and doesn’t need to be repeated here. I thought it might be useful to illustrate how helpful the package can be by refactoring some earlier work that explored consumer price inflation.
These scripts always start off with downloading and extracting the relevant data file:
cpi_url <- "https://www150.statcan.gc.ca/n1/tbl/csv/18100004-eng.zip" # (1)
if(file.exists("18100004-eng.zip")) { # (2)
# Already downloaded
} else {
download.file(cpi_url,
destfile = "18100004-eng.zip",
quiet = TRUE)
unzip("18100004-eng.zip") # (3)
}
cpi <- readr::read_csv("18100004.csv") # (4)
A few things to note here:
readr
package imports the final csv fileWith cansim
all I need to know is the data series number:
cansim_table <- "18-10-0004"
cpi <- cansim::get_cansim(cansim_table)
get_cansim
downloads the right file to a temporary directory, extracts the data, and imports it as a tidyverse
-compatible data frame.
The get_cansim
function has some other nice features. It automatically creates a Date
column with the right type, inferred from the standard REF_DATE
column. And, it also creates a val_norm
column that intelligently converts the VALUE
column. For example, converting percentage or thousand-dollar values into standard formats.
The cansim
package is a great example of a really helpful utility package that allows me to focus on analysis, rather than fiddling around with data. Definitely worth checking out if you deal with data from Statistics Canada.