[Rd] Debugging namespace problems

Hadley Wickham hadley at rice.edu
Fri Dec 23 20:54:36 CET 2011


And one last note: I'm reasonably certain I haven't forgotten to
export an S3 method because I wrote the following script to (crudely)
compare the function definitions in ggplot2 with its namespace:

  ns <- parseNamespaceFile("ggplot", "~/Documents/ggplot/")

  s3e <- paste(ns$S3methods[, 1], ns$S3methods[, 2], sep = ".")

  f <- ls("package:ggplot2")
  s3 <- f[str_detect(f, fixed("."))]

  missing <- setdiff(s3, s3e)
  missing[!str_detect(missing, "bolus|icon")]

(Code isn't reproducible, but should give you the basic idea)

Hadley


On Fri, Dec 23, 2011 at 1:52 PM, Hadley Wickham <hadley at rice.edu> wrote:
> I should add that I'm pretty sure this is something wrong with the
> ggplot2 NAMESPACE because if I explicitly attach ggplot2 the code
> works:
>
>> library(nstest)
>> my_plot()
> Error in UseMethod("scale_dimension") :
>  no applicable method for 'scale_dimension' applied to an object of
> class "NULL"
>> library(ggplot2)
>> my_plot()
> # Plot appears.
>
> Hadley
>
> On Fri, Dec 23, 2011 at 1:50 PM, Hadley Wickham <hadley at rice.edu> wrote:
>> Hi all,
>>
>> I frequently find that I've failed to export something in my NAMESPACE
>> and hence my package doesn't work when it's imported into another
>> package. Does anyone have suggestion for debugging this type of
>> problem?  R CMD check passes without any ns related errors on both the
>> importee and the importer.
>>
>> I've attached a reproducible example - if you install the development
>> version of ggplot2 (e.g. with devtools::install_github("ggplot2") the
>> attached package fails R CMD check with:
>>
>>> ### ** Examples
>>>
>>> plot(my_plot())
>> Error in structure(list(data = data, layers = list(), scales = Scales$new(),  :
>>  attempt to apply non-function
>> Calls: plot ... my_plot -> ggplot -> ggplot.data.frame -> structure
>> Execution halted
>> Error: Command failed (1)
>>
>> Hadley
>>
>> --
>> Assistant Professor / Dobelman Family Junior Chair
>> Department of Statistics / Rice University
>> http://had.co.nz/
>
>
>
> --
> Assistant Professor / Dobelman Family Junior Chair
> Department of Statistics / Rice University
> http://had.co.nz/



-- 
Assistant Professor / Dobelman Family Junior Chair
Department of Statistics / Rice University
http://had.co.nz/



More information about the R-devel mailing list