If it's not feasible to create a fast vignette or to avoid downloading
files, an alternative is to pre-generate the vignette and include it
as a static PDF/HTML vignette, cf.
https://cran.r-project.org/package=R.rsp.  If it's a LaTeX-based
vignette (e.g. Sweave/knitr), you could pre-generate the LaTeX
document and any figures and the use a plain-LaTeX vignette to include
it in the package (also supported by the R.rsp package).  For
reproducibility, I would include the root/source vignette in the
package as well, e.g. in inst/full-vignettes/ with instructions and/or
a function on how to rebuild it.

I second Hadley's recommendation on adjusting it such that you don't
depend on deprecated/archived CRAN packages (unless there is a plan
for that package to reappear on CRAN any time soon).

Berry, it sounds like you're caching computational expensive results
on file such that succeeding runs will load the cached results instead
of redoing them from scratch each time.  This sounds like a perfectly
fine solution to me.  To me it would be fine to also include that
cached file in the package itself (e.g. inst/cache/) so that it is
picked up also the first time the vignette is built.  You can make it
conditional on a system environment variable such that it is possible
to build it completely from scratch, e.g.

if (Sys.getenv("_R_VIGNETTE_FULL_") != "TRUE") {
  # Load cached data here

Some may argue that you're package is not fully tested this way, but
that depends on how well your package tests/ are written.  I tend to
look at examples() and vignettes as demos, and tests/ as actually
tests.  All should of course pass R CMD check and run, but the tests/
are what really test the package.


On Wed, Jun 1, 2016 at 2:01 AM, Berry Boessenkool
<berryboessenk...@hotmail.com> wrote:
> Regarding data in vignettes:
> In one of my vignettes I have a simulation that takes too much computing time.
> The code is excluded from being executed when building the vignette, but if 
> it's run manually, it saves the result as an Rdata file (in the folder 
> "vignettes").
> The next (executed) block of code then loads this small file and visualizes 
> it.
> https://cran.r-project.org/web/packages/extremeStat/vignettes/extremeStat.html#truncation-effect
> I'm absolutely NOT sure if this is good practice, but it worked well for me...
> Berry
> PS: If I'm doing stupid stuff, feel free to tell me...
>> From: h.wick...@gmail.com
>> Date: Tue, 31 May 2016 13:21:42 -0400
>> To: roy.mendelss...@noaa.gov
>> CC: r-package-devel@r-project.org
>> Subject: Re: [R-pkg-devel] Getting a package ready for CRAN - some questions
>> On Mon, May 30, 2016 at 7:10 PM, Roy Mendelssohn - NOAA Federal
>> <roy.mendelss...@noaa.gov> wrote:
>> > Hi All:
>> >
>> > I am in the midst of some minor revisions to my xtractomatic package, 
>> > which up till now has only been on github.  Since ncdf4 for Windows is now 
>> > available from CRAN  (and many thanks to whomever is responsible for that) 
>> > I thought I would try to get it into CRAN.  Some questions:
>> >
>> > 1.  The vignette uses a lot of packages that the main code does not - I 
>> > put those in the DESCRIPTION file, under  “Suggests”, is this correct?
>> Yes.
>> > 2. The vignette uses ggfortify, which was in CRAN for 3.2.x, but is not in 
>> > CRAN for 3.3.x.  Do I assume then that a submission will fail, or will the 
>> > submission work but just without the vignette?  Or can I include in the 
>> > vignette the command to install from github  (using devtools), and then 
>> > that will build?
>> You definitely do not want to install packages when running a vignette.
>> Given that ggfortify has been archived
>> (https://cran.r-project.org/web/packages/ggfortify/index.html), I'd
>> recommend using a different package (maybe broom?).
>> > 3. On a remote build, my vignette is likely to fail to build.  That is 
>> > because the vignette downloads a large amount of data in many requests, 
>> > and if for any reason any one of the downloads fail or times out, the 
>> > vignette build will fail.  As above, will this cause the entire submission 
>> > to fail, or just the vignette to fail?  And is there anyway to provide a 
>> > pre-built vignette in the submission?
>> You shouldn't be downloading data in a vignette. Can you make a
>> separate data package that just bundles the data?
>> Hadley
>> --
>> http://hadley.nz
>> ______________________________________________
>> R-package-devel@r-project.org mailing list
>> https://stat.ethz.ch/mailman/listinfo/r-package-devel
>         [[alternative HTML version deleted]]
> ______________________________________________
> R-package-devel@r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-package-devel

R-package-devel@r-project.org mailing list

Reply via email to