[R-pkg-devel] "Progress reports" for examples in packages --- SOLVED.

Jeff Newmiller jdnewm|| @end|ng |rom dcn@d@v|@@c@@u@
Sun Jul 7 05:27:34 CEST 2019


This is why I only put localization variables in .Rprofile and am always putting such options into my project-specific scripts.

This may sound like I am a masochist, but I hate sharing my scripts with someone else contaminated with compatibility bombs like that.

On July 6, 2019 8:19:27 PM PDT, Rolf Turner <r.turner using auckland.ac.nz> wrote:
>
>
>Just thought it might be of interest were I to give a progress report
>( :-) ) on this problem.
>
>I managed to track down and fix what was going wrong.  It turns out
>that 
>the issue was "stringsAsFactors".  I *hate* stringsAsFactors being TRUE
>
>so I have a call to options() setting it to FALSE in my .Rprofile.
>
>But of course R CMD check sets it to TRUE.  In my code, I create at one
>
>point a one-row data frame.  I use a data frame so that the object is 
>consistent with appears in other contexts in the code.  I extracting
>the 
>entries of the data frame in question from other objects.  Some of
>these 
>entries are strings ... uh-oh!  When they get changed to factors and 
>then passed on to a function which passes them on to (e.g.) binomial() 
>they wind up taking values like, e.g., 1, where "logit" was what was 
>intended.
>
>I had the function that calls binomial() wrapped up in a try() with 
>silent=TRUE, since there are occasional circumstances in which there 
>would be a "legitimate" fail (and I wanted to create a missing value if
>there was such a fail).  However there was *always* a fail due to the
>stringsAsFactors contretemps, so the overall result was useless and the
>
>repeat{ } loop repeated.  Endlessly.  When R CMD check was run.
>(But everything was of course just ducky when I ran the example "as 
>myself".)
>
>The fix, once I found the problem, was simple; just stick in a
>stringsAsFactors=FALSE in the relevant call to data.frame().
>
>Finding the problem, obvious as it is in retrospect, was a nightmare. 
>It required many many many attempts with cat() statements inserted at 
>various places (in accordance with the advice given by Ben Bolker).  I 
>had the devil's own time figuring out what to cat()!
>
>I found, once I'd tracked down which example was the culprit (by doing
>tail -f pkge-Ex.Rout), that I could use \dontrun{} on all of the
>*other* 
>examples and get the same puzzling behaviour.  This speeded up the 
>process considerably.
>
>Don't know if there is any message to take away from all of the 
>foregoing (other than that Rolf Turner is pretty stupid) but I thought 
>that some list members might find the story to be of interest.
>
>cheers,
>
>Rolf Turner

-- 
Sent from my phone. Please excuse my brevity.



More information about the R-package-devel mailing list