Here is a simple example using S3 classes. We define a generic function myday. It dispaches, i.e. calls, a function whose name is myday followed by a dot followed by the class of the first argument to myday. After defining myday, define two functions for it to dispatch: myday.POSIXct and myday.numeric.
# generic function myday <- function(x, ...) UseMethod("myday") # if first argument is of class POSIXct then UseMethod calls this: myday.POSIXct <- function(dat) as.POSIXlt(dat)$mday # if first argument is of class numeric then UseMethod calls this: myday.numeric <- function(x) x # Here is how it would be called: myday(20) # causes myday.numeric to be dispached. Returns 20. myday(Sys.time()) # myday.POSIXct dispatched. Returns 3 on Nov 3rd. # We can also query what methods are available: methods(myday) # returns vector c("myday.POSIXct","myday.numeric") --- Date: 03 Nov 2003 17:28:22 -0500 From: Arend P. van der Veen <[EMAIL PROTECTED]> To: <[EMAIL PROTECTED]> Subject: [R] Generic Function Hi, How to I write a generate function that is "specific to the class of the argument itself" ? For example, I created a data.frame that contains results of an analysis. I would like to write a special plot function with the following usage plot(data.frame) I have been looking through the documentation but have not found anything to show me how to do this. Any help would be greatly appreciated. Thanks in advance, Arend van der Veen _______________________________________________ No banners. No pop-ups. No kidding. Introducing My Way - http://www.myway.com ______________________________________________ [EMAIL PROTECTED] mailing list https://www.stat.math.ethz.ch/mailman/listinfo/r-help