Conditionally returning tibbles with delayedAssign()
The newsletter by rOpenSci highlights this trick by the palmerpenguins package.
delayedAssign("penguins", {
if (requireNamespace("tibble", quietly = TRUE)) {
tibble::as_tibble(readRDS("data/penguins.rds"))
} else {
readRDS("data/penguins.rds")
}
})
delayedAssign("penguins_raw", {
if (requireNamespace("tibble", quietly = TRUE)) {
tibble::as_tibble(readRDS("data/penguins_raw.rds"))
} else {
readRDS("data/penguins_raw.rds")
}
})
This rOpenSci newsletter also detailed how to get new words past the package description spellchecker.
Leave a comment