posts/2023-11-27-objects-loading-namespaces/
Opened this issue · 2 comments
Mike Mahoney - Helping R find the right methods for unserialized complex objects.
Automatically load package namespaces when reading serialized objects with this One Quick Trick.
https://www.mm218.dev/posts/2023-11-27-objects-loading-namespaces/
Interesting! But, actually, I was more intrigued by your \
code. E.g., the first chunk:
bos_rds <- tempfile(fileext = ".rds")
callr::r(
\(bos_rds) saveRDS(spatialsample::boston_canopy, bos_rds),
args = list(bos_rds = bos_rds)
) |>
invisible()
I've never seen such a difficult way to save an RDS file! :-O Teach me - what is this \(bos_rds)
doing? And why calling the whole thing through callr::r
?!
Ha, sorry! Legacy of the writing process. My first draft here was very intent that I was going to keep the primary R session with as few packages loaded as possible -- so I couldn't call spatialsample::boston_canopy
in the primary session, because that would load sf. Then I realized I needed to introduce the problem somehow, and so wind up calling spatialsample::boston_canopy
in the primary session ~immediately. I might change this chunk to use the straightforward approach. I immediately changed this (and saving nc_rds
) to use the more straightforward approach -- thanks!
(As for "what is \(bos_rds)
doing" -- \
is a shorthand for function
as of R 4.1, if memory serves, so this defines an in-line function to be run inside the callr R session).