Re: [Rd] "could not find function" after import

From: steven mosher <moshersteven_at_gmail.com>
Date: Fri, 23 Sep 2011 09:57:45 -0700

Duncan

I have a related question.

I need one function from R.utils. But R.utils depends on R.oo and R.methodsS3. so I made R.util an import and then used importFrom() in the namespace.

The package passed the "check". However when it came to use the function it had not been loaded? do I need to add the upstream packages that R.util depends
upon? also in the code do I need a library or require?

A bit confused

Steve

On Mon, Sep 19, 2011 at 5:09 PM, Duncan Murdoch <murdoch.duncan_at_gmail.com> wrote:
> On 11-09-19 4:48 PM, Stephanie M. Gogarten wrote:
>>
>> I am trying to build a package (GWASTools, submitted to Bioconductor)
>> that uses the "sandwich" package.  I have references to "sandwich" in
>> DESCRIPTION:
>> Imports: methods, DBI, RSQLite, sandwich, survival, DNAcopy
>>
>> and NAMESPACE:
>> import(sandwich)
>>
>> In the code itself is a call to vcovHC:
>> Vhat<- vcovHC(mod, type="HC0")
>>
>> I have sandwich version 2.2-7 installed.
>>
>> When I run R CMD check on my package, I get the following error during
>> checking of examples:
>> * using R Under development (unstable) (2011-08-29 r56828)
>> * using platform: x86_64-apple-darwin9.8.0 (64-bit)
>> ...
>> * checking examples ... ERROR
>> ...
>> Error in estfun.glm(x) : could not find function "is.zoo"
>> Calls: assocTestRegression ... meatHC ->  rowMeans ->  is.data.frame ->
>> estfun ->  estfun.glm
>>
>> I import sandwich, sandwich depends on zoo, but a function in zoo cannot
>> be found during execution.
>>
>> I tried to get around this by explicitly including a "require" statement
>> in assocTestRegression:
>> require(sandwich)
>>
>> The example now runs, but I have a warning in R CMD check:
>> * checking for unstated dependencies in R code ... WARNING
>> ‘library’ or ‘require’ call not declared from: ‘sandwich’
>>
>> I am not sure why this is a problem, as there is a "require" statement
>> (for a different package) in another function which does not cause any
>> warnings.
>>
>> Can anyone advise on how to get my package to successfully pass R CMD
>> check?
>>
>
> If you said that your package Depends on sandwich, you'd probably pass
> checks, but this is arguably a bug in the sandwich package.
>
> The problem is that since you only import sandwich, it never gets attached.
>  So it never attaches its dependency zoo.   It should import zoo (or import
> the functions in zoo that it uses) to work properly the way you are calling
> it.
>
> You can see the same error as follows:
>
> 1.  Install sandwich, but don't attach it or zoo.
>
> 2.  Run
>
> example(glm)
>
> to create the "glm" object glm.D93.
>
> Try to call
>
> sandwich::estfun(glm.D93)
>
> You'll get the same error as before because is.zoo() will not be loaded.
>
> It's also arguably a design flaw in R.  For testing sandwich, zoo would
> generally end up being attached, because the testing of sandwich would
> attach it.  However, examples like the one above are never tested.
>
> Duncan Murdoch
>
> ______________________________________________
> R-devel_at_r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-devel
>



R-devel_at_r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel Received on Fri 23 Sep 2011 - 17:00:33 GMT

This quarter's messages: by month, or sorted: [ by date ] [ by thread ] [ by subject ] [ by author ]

All messages

Archive maintained by Robert King, hosted by the discipline of statistics at the University of Newcastle, Australia.
Archive generated by hypermail 2.2.0, at Fri 23 Sep 2011 - 19:20:33 GMT.

Mailing list information is available at https://stat.ethz.ch/mailman/listinfo/r-devel. Please read the posting guide before posting to the list.

list of date sections of archive