Skip to content
Prev 312123 / 398506 Next

Some questions about chron package..

Hello,

Inline.
Em 27-11-2012 18:06, ??? escreveu:
Not that I know of.
It creates a generic function named as.chron. The next instruction 
creates the default method for that function.
I am not sure but I believe the programmer is trying to have arguments 
with names not conflicting with classes "dates" and "times", or other 
objects or arguments.
Try this.

f <- function(x) UseMethod("f")
f.default <- function(x) print("'x' is not of class 'matrix'")
f.matrix <- function(x) print("'x' is of class 'matrix'")

f(1)
f("a")
f(matrix(1, ncol=1))
f(list(1, 2, 3))


The S3 object oriented programming system is documented in many places, 
it dispatches based on the class of the first argument so in the third 
case it's f.matrix that is called and in the others, f.default. But you 
need only to call f(args) (no suffix). Common examples are print(), 
summary() and plot(). Any of these functions is generic and methods for 
each class can and are written to them. You can see which methods there 
are by running the command

methods(print)  # 174 in R 2.15.2, new session

The syntax for these methods is "function.class". Then you can call 
"function" that the S3 system will find the appropriate method, if any, 
or will default to "function.default". (Like in as.chron.default)
There are free books on CRAN, read them. And google "S3 R Programming".

Hope this helps,

Rui Barradas