base (version 3.5.0)

attr: Object Attributes


Get or set specific attributes of an object.


attr(x, which, exact = FALSE)
attr(x, which) <- value



an object whose attributes are to be accessed.


a non-empty character string specifying which attribute is to be accessed.


logical: should which be matched exactly?


an object, the new value of the attribute, or NULL to remove the attribute.


For the extractor, the value of the attribute matched, or NULL if no exact match is found and no or more than one partial match is found.


These functions provide access to a single attribute of an object. The replacement form causes the named attribute to take the value specified (or create a new attribute with the value given).

The extraction function first looks for an exact match to which amongst the attributes of x, then (unless exact = TRUE) a unique partial match. (Setting options(warnPartialMatchAttr = TRUE) causes partial matches to give warnings.)

The replacement function only uses exact matches.

Note that some attributes (namely class, comment, dim, dimnames, names, row.names and tsp) are treated specially and have restrictions on the values which can be set. (Note that this is not true of levels which should be set for factors via the levels replacement function.)

The extractor function allows (and does not match) empty and missing values of which: the replacement function does not.

NULL objects cannot have attributes and attempting to assign one by attr gives an error.

Both are primitive functions.


Becker, R. A., Chambers, J. M. and Wilks, A. R. (1988) The New S Language. Wadsworth & Brooks/Cole.

See Also



Run this code
# create a 2 by 5 matrix
x <- 1:10
attr(x,"dim") <- c(2, 5)
# }

Run the code above in your browser using DataLab