This help topic is for R version 1.5.0. For the current version of R, try https://stat.ethz.ch/R-manual/R-patched/library/base/html/class.html
class {base}R Documentation

Object Classes

Description

R possesses a simple generic function mechanism which can be used for an object-oriented style of programming. Method despatch takes place based on the class of the first argument to the generic function.

Usage

class(x)
class(x) <- names
unclass(x)
inherits(x, what, which = FALSE)

Arguments

x

an objects

what

a character vector naming classes.

which

logical affecting return value: see Details.

Details

An R “object” is a data object which has a class attribute. A class attribute is a character vector giving the names of the classes which the object “inherits” from. When a generic function fun is applied to an object with class attribute c("first", "second"), the system searches for a function called fun.first and, if it finds it, applies it to the object. If no such function is found, a function called fun.second is tried. If no class name produces a suitable function, the function fun.default is used.

The function class prints the vector of names of classes an object inherits from. Correspondingly, class<- sets the classes an object inherits from.

unclass returns (a copy of) its argument with its class information removed.

inherits indicates whether its first argument inherits from any of the classes specified in the what argument. If which is TRUE then an integer vector of the same length as what is returned. Each element indicates the position in the class(x) matched by the element of what; zero indicates no match. If which is FALSE then TRUE is returned by inherits if any of the names in what match with any class.

See Also

UseMethod, NextMethod.

Examples

  x <- 10
  inherits(x, "a") #FALSE
  class(x)<-c("a", "b")
  inherits(x,"a") #TRUE
  inherits(x, "a", TRUE) # 1
  inherits(x, c("a", "b", "c"), TRUE) # 1 2 0

[Package base version 1.5.0 ]