[Rd] Issue with data() function
Therneau, Terry M., Ph.D.
therne@u @end|ng |rom m@yo@edu
Mon Oct 26 04:21:17 CET 2020
Duncan and others: I was not being careful with my description. This concerned tests of
version 3.2-8, not yet on CRAN, in which I was trying some size-limiting measures. My
apologies for not making this clear.
- I feel mild pressure to make the survival package smaller, per CRAN guidelines, and
shrinking the data appears to be one way to approach that. So a real point of the query
is my attempts to do so. (I am much more resistant to shrinking the extensive test suite
or the vignettes.)
- The survival package has a lot of small data sets, and bundling them up into a
single .rda file does save space, but it causes some issues with data(). The overall
tarball goes from 7480 to 6100 in size (ls -s).
Terry
On 10/24/20 4:28 AM, Duncan Murdoch wrote:
> On 23/10/2020 9:25 p.m., Therneau, Terry M., Ph.D. via R-devel wrote:
>> I found an issue with the data() command this evening when working on the survival
>> package.
>>
>> 1. I have a lot of data sets in the package, almost all used in at least one vignette,
>> help file, or test. As a space saving measure, I have bundled many of them together,
>> i.e., the file data/cancer.rda contains 19 data sets, many of them small. The resulting
>> file (using xz compression) is quite a bit smaller than the individual ones. (I still get
>> a warning note about size from R CMD check, but I'm no longer 2x the limit.)
>>
>> 2. Consider the lung data set. All of these fail:
>> data(lung)
>> data("lung")
>> data(lung, package="survival")
>>
>> a. The lung.Rd file had \usage{data(lung)}; that error was not caught by R CMD check.
>> (Several other .Rd files as well.)
>>
>> b. In broader examples for teaching, I sometimes load data from other packages, e.g
>> data(aidssi, package="mstate"). But this does not work for survival. (The larger
>> survival data sets that are in separate .rda files can be found.)
>>
>> c. What does work is survival::lung. Might it be useful to add a comment to data.Rd to
>> this effect?
>
> You don't describe how this dataset is being included in your package. Have you moved it
> from data/lung.rda to data/cancer.rda? Currently (in survival 3.2-7) each of these works
> for me:
>
> library(survival); data(lung)
>
> library(survival); data("lung")
>
> # Without library(survival):
> data(lung, package="survival")
>
> I think if the lung dataset is now being included in cancer.rda, you'd need
>
> data(cancer, package="survival")
>
> or equivalent to load it (and the rest of the datasets there).
>
>>
>>
>> 3. Creating a separate package 'survivaldata' is of course one route, and is suggested in
>> the "Writing R Extensions" guide. But this is not possible since survival is a
>> recommended package: it can't load any non-recommended package for it's tests or
>> vignettes. Longer term, perhaps there is way around this constraint?
>
> Maybe the solution is to put your datasets into the "datasets" package, or make
> "survivaldata" a recommended package, or just leave things as they are and ignore the
> warnings about package size. I think that's a negotiation you should have with R Core.
>
> Duncan Murdoch
[[alternative HTML version deleted]]
More information about the R-devel
mailing list