[R] deparse, substitute and S4 generics

Bill.Venables at csiro.au Bill.Venables at csiro.au
Wed Jan 23 00:56:31 CET 2008


Try putting a ... argument in the method for g as well

setGeneric("g", function(object, ...) standardGeneric("g"))

setMethod("g", "ANY",
function(object, ...)  ### change
{
    nam <- deparse(substitute(object))
    cat("name:", nam, "\n")
    object
} ) 


Now it works.

Bill Venables
CSIRO Laboratories
PO Box 120, Cleveland, 4163
AUSTRALIA
Office Phone (email preferred): +61 7 3826 7251
Fax (if absolutely necessary):  +61 7 3826 7304
Mobile:                         +61 4 8819 4402
Home Phone:                     +61 7 3286 7700
mailto:Bill.Venables at csiro.au
http://www.cmis.csiro.au/bill.venables/ 

-----Original Message-----
From: r-help-bounces at r-project.org [mailto:r-help-bounces at r-project.org]
On Behalf Of Bojanowski, M.J. (Michal)
Sent: Wednesday, 23 January 2008 9:48 AM
To: r-help at r-project.org
Subject: [R] deparse, substitute and S4 generics

Hello everyone,

I encountered the following confusing behavior of 'deparse' and
'substitute' while programming with S4 classes (see example below). It
seems like the presence of '...' argument in the definition of the
generic generates the problem. I have no clue why, can anyone explain
that to me? Are there any "workarounds"?

Thanks a lot for your time!

~Michal



# Let's define two seemingly identical generics

setGeneric("f", function(object) standardGeneric("f"))

setMethod("f", "ANY",
function(object)
{
    nam <- deparse(substitute(object))
    cat("name:", nam, "\n")
    object
} )

# and

setGeneric("g", function(object, ...) standardGeneric("g"))

setMethod("g", "ANY",
function(object)
{
    nam <- deparse(substitute(object))
    cat("name:", nam, "\n")
    object
} )



# now let's test:

x <- 1

# this works
f(x)

# but this does not,  why? what '...' has to do with it?
g(x)



____________________________________
Michal Bojanowski
ICS / Department of Sociology
Utrecht University
Heidelberglaan 2; 3584 CS Utrecht
The Netherlands
m.j.bojanowski at uu dot nl
http://www.fss.uu.nl/soc/bojanowski/


	[[alternative HTML version deleted]]

______________________________________________
R-help at 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.



More information about the R-help mailing list