R: Internal Generic Functions

InternalMethods {base} | R Documentation

## 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<-`, `lengths`, `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`, `as.call`, `as.environment` `is.array`, `is.matrix`, `is.na`, `anyNA`, `is.nan`, `is.finite` `is.infinite` `is.numeric`, `nchar` `rep`, `rep.int` `rep_len` `seq.int` (which dispatches methods for `"seq"`), `is.unsorted` 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.

[Package base version 4.0.5 Index]