Export the default method (and otehr methods) from your NAMESPACE? See Writing R Extensions about the S3method directive.

Note that print.f is the print method for a class f, while f is a generic function, both fs are unrelated.

Uwe Ligges




On 02.04.2012 12:02, Johannes Radinger wrote:
Hello,

I already posted that on stackoverflow[1], but although it's crossposting,
I think this question can probably easier to be answered by other R-users on 
this list, which maintain packages etc.

I would like to make a package out of a function. The function
is working in a script, but when I install and load it as library()
I get an error. The example-function is:

#Make generic function
f<- function(x,...) UseMethod("f")

#Default method
f.default<- function(a,b=5,c=3,...){
        out<- a+b+c
        class(out)<- "f"
        out
}

# Print method
print.f<- function(x,...){
        cat("Result for f: ")
        print(unclass(x))
}

In the NAMESPACE for export I set "f".
When I try to run the function from the package I get:
Error in UseMethod("f") :
   no applicable method for 'f' applied to an object of class "c('double', 
'numeric')"

here some additional info:
sessionInfo()
R version 2.14.2 (2012-02-29)
Platform: i386-apple-darwin9.8.0/i386 (32-bit)

locale:
[1] en_US.UTF-8/en_US.UTF-8/en_US.UTF-8/C/en_US.UTF-8/en_US.UTF-8

attached base packages:
[1] stats     graphics  grDevices utils     datasets  methods   base

other attached packages:
[1] fishmove_0.0-1 plyr_1.7.1     ggplot2_0.9.0

loaded via a namespace (and not attached):
  [1] colorspace_1.1-1   dichromat_1.2-4    digest_0.5.1       grid_2.14.2      
  MASS_7.3-17
  [6] memoise_0.1        munsell_0.3        proto_0.3-9.2      
RColorBrewer_1.0-5 reshape2_1.2.1
[11] scales_0.2.0       stringr_0.6



Can anyone explain me how to solve that resp. how to make my own function into 
a package?

Best regards,

Johannes

[1]: 
http://stackoverflow.com/questions/8430178/arguments-and-classes-for-writing-generic-functions-in-r


______________________________________________
R-help@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.

Reply via email to