[Rd] "Default" accessor in S4 classes

Martin Maechler maechler at stat.math.ethz.ch
Thu Jan 10 10:44:46 CET 2013


>>>>> Chris Jewell <chris.jewell at warwick.ac.uk>
>>>>>     on Wed, 9 Jan 2013 13:28:49 +1300 writes:
>>>>> "CJ" == Chris Jewell <chris.jewell at warwick.ac.uk>
>>>>>     on Wed, 9 Jan 2013 13:28:49 +1300 writes:

    CJ> Okay, thanks for the input, All.  I'd settled on the explicit coercion as.data.frame as well as the myObject[] syntax which makes a lot of sense.  I'd also like to implement an as.double() method.  However, I'm having trouble embedding this into my package.  In the R file I have:

    CJ> setMethod("as.double", "HD5Proxy", function(x) as.double(x[]))

    CJ> and exportMethods(as.double) in my NAMESPACES file.  However, on checking the package, I get an error saying that method "as.double" cannot be found.  I noticed that the setMethod command actually returns a character vector with "as.numeric", so I'm assuming this is the problem.  How do I explicitly export my as.double method?

As you've noticed above,  `` R prefers as.numeric ''
and that is what you should be dealing with instead :
It's unsatisfactory I agree, but that's what it currently is:

setMethod("as.numeric", ....

and exportMethods(as.numeric)

Martin



More information about the R-devel mailing list