isS4
Test for an S4 object
Description
Tests whether the object is an instance of an S4 class.
Usage
isS4(object) asS4(object, flag = TRUE, complete = TRUE) asS3(object, flag = TRUE, complete = TRUE)
Arguments
object | Any R object. |
flag | Optional, logical: indicate direction of conversion. |
complete | Optional, logical: whether conversion to S3 is completed. Not usually needed, but see the details section. |
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.
asS3
uses the value of complete
to control whether an attempt is made to transform object
into a valid object of the implied S3 class. If complete
is TRUE
, then an object from an S4 class extending an S3 class will be transformed into an S3 object with the corresponding S3 class (see S3Part
). This includes classes extending the pseudo-classes array
and matrix
: such objects will have their class attribute set to NULL
.
isS4
is primitive.
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
and asS3
will turn this flag on or off, and asS3
will set the class from the objects .S3Class
slot if one exists. Note that asS3
will not turn the object into an S3 object unless there is a valid conversion; that is, an object of type other than "S4"
for which the S4 object is an extension, unless argument complete
is FALSE
.
See Also
is.object
for a more general test; Introduction for general information on S4; Classes_Details for more on S4 class definitions.
Examples
isS4(pi) # FALSE isS4(getClass("MethodDefinition")) # TRUE
Copyright (©) 1999–2012 R Foundation for Statistical Computing.
Licensed under the GNU General Public License.