[R] Cacheing of functions from libraries other than the base in Rmarkdown

Chris Evans chr|@ @end|ng |rom p@yctc@org
Sun Sep 19 19:49:26 CEST 2021


[Damn: now I'm forgetting that r-help has reply-to the individual respondent, 
sorry for duplicate Email Charles but I'm sure this should be in the archives.] 

Excellent: I'm sure that's it. I hadn't noticed that I'd loaded libraries in a 
cached code block. I thought I'd learned not to do that: can't believe I didn't 
check that. 

Thanks, another hole in a foot: (re)-read the pertinent manual before assuming 
something is broken Christopher! 

Very best all, 

C 

----- Original Message ----- 
> From: "Berry, Charles" <ccberry using health.ucsd.edu> 
> To: "Chris Evans" <chrishold using psyctc.org> 
> Cc: "R-help" <R-help using r-project.org> 
> Sent: Sunday, 19 September, 2021 19:28:49 
> Subject: Re: Cacheing of functions from libraries other than the base in Rmarkdown 

> Chris, 
> 
> 
>> On Sep 18, 2021, at 12:26 PM, Chris Evans <chrishold using 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 

-- 
Chris Evans (he/him) <chris using psyctc.org> Visiting Professor, University of Sheffield and UDLA, Quito, Ecuador 
I do some consultation work for the University of Roehampton <chris.evans using roehampton.ac.uk> and other places 
but <chris using psyctc.org> remains my main Email address. I have a work web site at: 
https://www.psyctc.org/psyctc/ 
and a site I manage for CORE and CORE system trust at: 
http://www.coresystemtrust.org.uk/ 
I have "semigrated" to France, see: 
https://www.psyctc.org/pelerinage2016/semigrating-to-france/ 
https://www.psyctc.org/pelerinage2016/register-to-get-updates-from-pelerinage2016/ 

If you want an Emeeting, I am trying to keep them to Thursdays and my diary is at: 
https://www.psyctc.org/pelerinage2016/ceworkdiary/ 
Beware: French time, generally an hour ahead of UK. 

	[[alternative HTML version deleted]]



More information about the R-help mailing list