[R] S4 methods: unable to find an inherited method
Seth Falcon
sfalcon at fhcrc.org
Wed Aug 8 21:03:08 CEST 2007
Hi Paul,
"H. Paul Benton" <hpbenton at scripps.edu> writes:
> I consider myself pretty new to the whole OO based programming so
> I'm sorry if I'm doing something stupid.
These sorts of questions might be better sent to the R-devel list...
>> xml<-read.metlin(url)
> Error in function (classes, fdef, mtable) :
> unable to find an inherited method for function "read.metlin",
> for signature "url"
So the error message is telling you that it can't find a method for
the read.metlin generic that matches the class of the xml argument you
passed in.
You defined:
> setMethod("read.metlin", "xcmsRaw", function(xml) {
> #Parsing the METLIN XML File
> reading<-readLines(xml)
> # do rest of script
>
> })
So there is a method for read.metlin when the xml argument is an
xcmsRaw object. As you show, you passed in an object with class
"url".
>> url
> description
> "http://metlin.scripps.edu/download/MSMS_test.XML"
> class
> "url"
> Any help as to why I'm getting the inherited method error would be
> great.
You either need to add a method specialized on the url class (warning,
url is not an S4 class, there will be tricks required). Or you need
to pass in an xcmsRaw object.
Cheers,
+ seth
--
Seth Falcon | Computational Biology | Fred Hutchinson Cancer Research Center
BioC: http://bioconductor.org/
Blog: http://userprimary.net/user/
More information about the R-help
mailing list