InternalMethods: Internal Generic Functions
Description
Many R-internal functions are generic and allow
methods to be written for.Details
The following primitive and internal functions are generic,
i.e., you can write methods
for them: [
,
[[
,
$
,
[<-
,
[[<-
,
$<-
, length
,
length<-
,
dimnames
,
dimnames<-
,
dim
,
dim<-
,
names
,
names<-
,
levels<-
, c
,
unlist
,
cbind
,
rbind
, as.character
,
as.complex
,
as.double
,
as.integer
,
as.logical
,
as.raw
,
as.vector
,
is.array
,
is.matrix
,
is.na
,
is.nan
,
is.numeric
,
rep
,
seq.int
(which dispatches methods for "seq"
)
and xtfrm
In addition, is.name
is a synonym for is.symbol
and
dispatches methods for the latter. Similarly, as.numeric
is a synonym for as.double
and dispatches methods for the
latter, i.e., S3 methods are for as.double
, whereas S4 methods
are to be written for as.numeric
. Note that all of the group generic functions are also
internal/primitive and allow methods to be written for them. .S3PrimitiveGenerics
is a character vector listing the
primitives which are internal generic and not group generic.
Currently as.vector
, cbind
,
rbind
and unlist
are the internal
non-primitive functions which are internally generic. For efficiency, internal dispatch only occurs on objects, that
is those for which is.object
returns true.See Also
methods
for the methods which are available.