isS4 {base} | R Documentation

## Test for an S4 object

### Description

Tests whether the object is an instance of an S4 class.

### Usage

    isS4(object)

    asS4(object, value = TRUE)

### Arguments

`object` | Any R object.
`value` | A single logical value; not `NA`.

### Details

Note that `isS4` does not rely on the methods package, so in particular it can be used to detect the need to `require` that package. (But `asS4` does depend on methods.)

You should not set the flag directly unless you really know why. As from R 2.6.0, S4 methods are restricted to S4 objects for primitive functions; `asS4` allows method dispatch of S4 methods on primitives for S3 classes. For all other purposes, an object will satisfy `isS4(x)` if and only if it should.

Note that S4 methods can only be set on those primitives which are ‘internal generic’ and `%*%`.

### Value

`isS4` always returns `TRUE` or `FALSE` according to whether the internal flag marking an S4 object has been turned on for this object.
`asS4` will turn this flag on or off. But see the details.

### See Also

`is.object`

### Examples

    isS4(pi) # FALSE
    isS4(getClass("MethodDefinition")) # TRUE

[Package base version 2.8.1 Index]