You should Google "r cache" yourself, but I have used memoise, R.cache, drake, and targets, and I rate targets as #1 and R.cache as #2.
If you try to retrieve old cache objects (more than a few weeks, say) you are likely to run into package/class changes that could cause the kind of issues you are having to crop up. Try to archive results in an interchange format like csv, parquet, or feather to future-proof your work as a separate task from caching. On September 19, 2021 10:49:50 AM PDT, Chris Evans <chrish...@psyctc.org> wrote: >Can you point me to an example of this? I definitely need cacheing for this >work but I don't know >about data cacheing packages. Might be one of those things where my learning >time might outweigh >time saved but I lost a fair bit of time by being stupid with this so perhaps >not. > >----- Original Message ----- >> From: "Jeff Newmiller" <jdnew...@dcn.davis.ca.us> >> To: r-help@r-project.org, "Charles Berry" <ccbe...@health.ucsd.edu>, "Chris >> Evans" <chrish...@psyctc.org> >> Cc: "R-help" <R-help@r-project.org> >> Sent: Sunday, 19 September, 2021 19:45:03 >> Subject: Re: [R] Cacheing of functions from libraries other than the base in >> Rmarkdown > >> I avoid knitr (Rmarkdown uses knitr) caching like the plague. If I want >> caching, >> I do it myself (with or without the aid of one of a data caching package). >> >> On September 19, 2021 10:28:49 AM PDT, "Berry, Charles" >> <ccbe...@health.ucsd.edu> wrote: >>>Chris, >>> >>> >>>> On Sep 18, 2021, at 12:26 PM, Chris Evans <chrish...@psyctc.org> wrote: >>>> >>>> This question may belong somewhere else, if so, please signpost me and >>>> accept >>>> apologies. >>>> >>>> What is happening is that I have a large (for me, > 3k lines) Rmarkdown >>>> file >>>> with many R code blocks (no other code or >>>> engine is used) working on some large datasets. I have some inline r like >>>> >>>> There are `r n_distinct(tibDat$ID)` participants and `r nrow(tibDat)` >>>> rows of >>>> data. >>>> >>>> What I am finding is that even if one knit has worked fine and I change >>>> something somewhere and knit again, the second >>>> knit is often failing with an error like >>>> >>>> n_distinct(tibDat$ID) : could not find function "n_distinct" >>>> >>>> This is not happening for functions like nrow() from base R and it mostly >>>> seems >>>> to happen to functions from the tidyverse. >>>> >>>> I think what is happening is some sort of cache corruption presumably >>>> caused by >>>> the memory demands. I am pretty sure I've >>>> seen this before but a long time ago and dealt with it by deleting the >>>> files and >>>> cache folders created by the knit. >>> >>>Caching things that depend on libraries is known to be tricky. >>> >>>Specifically, it is advised that "loading packages via library() in a cached >>>chunk and these packages will be used by uncached chunks" is something you >>>should not do. I suspect that this is the problem with your inline chunk. >>> >>>I have to reread things like: >>> >>> https://yihui.org/knitr/demo/cache/ >>> >>>and relevant parts of the manual to be sure I didn't mess something up and >>>maybe >>>you should look at that and the manual yet another time. >>> >>>HTH, >>> >>>Chuck >>> >>>______________________________________________ >>>R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see >>>https://stat.ethz.ch/mailman/listinfo/r-help >>>PLEASE do read the posting guide http://www.R-project.org/posting-guide.html >>>and provide commented, minimal, self-contained, reproducible code. >> >> -- >> Sent from my phone. Please excuse my brevity. > -- Sent from my phone. Please excuse my brevity. ______________________________________________ R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code.