Methods                 package:base                 R Documentation

Internal and Group Methods and Generic Functions

Description:

     Many R-internal functions  are generic and  allow methods to be
     written for.  Group methods in particular are available for the
     `"Math"',  `"Ops"', and `"Summary"' group.

Usage:

     Math.data.frame(x, ...)
     Math.factor(x, ...)

     Ops.data.frame(e1, e2 = NULL)
     Ops.factor(e1, e2)
     Ops.ordered(e1, e2)

     Summary.data.frame(x, ...)
     Summary.factor(x, ...)

     .Method
     .Generic
     .Group
     .Class

Arguments:

x, e1, e2: objects.

     ...: further arguments passed to methods.

Group Dispatching:

     There are three groups for which methods can be written, namely
     the `"Math"', `"Ops"' and `"Summary"' groups.

     A function `f' belonging to one of these groups must be
     `.Internal' or `.Primitive' and will automatically be using
     `<grp>.<class> (ob)' when `f(<ob>)' is called, `f' belongs to
     group `<grp>' and `<ob>' is of `class' `<class>'.

        1.  Group `"Math"':

           *  `abs', `sign', `sqrt', 
              `floor', `ceiling', `trunc',
              `round', `signif'

           *  `exp', `log', 
              `cos', `sin', `tan',
              `acos', `asin', `atan'

              `cosh', `sinh', `tanh',
              `acosh', `asinh', `atanh'

           *  `lgamma', `gamma', `gammaCody',
              `digamma', `trigamma', `tetragamma', `pentagamma'

           *  `cumsum', `cumprod', `cummax', `cummin'


        2.  Group `"Ops"':

           *  `"+"', `"-"', `"*"', `"/"', `"^"', `"%%"', `"%/%"'

           *  `"&"', `"|"', `"!"'

           *  `"=="', `"!="',  `"<"', `"<="', `">="', `">"'


        3.  Group `"Summary"':

           *  `all', `any'

           *  `sum', `prod'

           *  `min', `max'

           *  `range'

Simple Dispatching:

     The following builtin functions are generic as well, i.e., you can
     write `methods' for them:

     `[',             `[['            

     `dimnames<-',    `dimnames',      `dim<-',         `dim'           

     `c',  `unlist',  `as.vector',  `is.na',  `is.nan'

References:

     Appendix A, Classes and Methods of
     Chambers, J. M.  and Hastie, T. J. eds (1992) Statistical Models
     in S. Wadsworth & Brooks/Cole.

See Also:

     `methods' for methods of non-Internal generic functions.

Examples:

     methods("Math")
     methods("Ops")
     methods("Summary")

     d.fr <- data.frame(x=1:9, y=rnorm(9))
     data.class(1 + d.fr) == "data.frame" ##-- add to d.f. ...

