| % File src/library/base/man/attr.Rd |
| % Part of the R package, https://www.R-project.org |
| % Copyright 1995-2017 R Core Team |
| % Distributed under GPL 2 or later |
| |
| \name{attr} |
| \alias{attr} |
| \alias{attr<-} |
| \title{Object Attributes} |
| \description{ |
| Get or set specific attributes of an object. |
| } |
| \usage{ |
| attr(x, which, exact = FALSE) |
| attr(x, which) <- value |
| } |
| \arguments{ |
| \item{x}{an object whose attributes are to be accessed.} |
| \item{which}{a non-empty character string specifying which attribute |
| is to be accessed.} |
| \item{exact}{logical: should \code{which} be matched exactly?} |
| \item{value}{an object, the new value of the attribute, or \code{NULL} |
| to remove the attribute.} |
| } |
| \details{ |
| 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 \code{which} |
| amongst the attributes of \code{x}, then (unless \code{exact = TRUE}) |
| a unique partial match. |
| (Setting \code{\link{options}(warnPartialMatchAttr = TRUE)} causes |
| partial matches to give warnings.) |
| |
| The replacement function only uses exact matches. |
| |
| Note that some attributes (namely \code{\link{class}}, |
| \code{\link{comment}}, \code{\link{dim}}, \code{\link{dimnames}}, |
| \code{\link{names}}, \code{\link{row.names}} and |
| \code{\link{tsp}}) are treated specially and have restrictions on |
| the values which can be set. (Note that this is not true of |
| \code{\link{levels}} which should be set for factors via the |
| \code{levels} replacement function.) |
| |
| The extractor function allows (and does not match) empty and missing |
| values of \code{which}: the replacement function does not. |
| |
| \code{\link{NULL}} objects cannot have attributes and attempting to |
| assign one by \code{attr} gives an error. |
| |
| Both are \link{primitive} functions. |
| } |
| \value{ |
| For the extractor, the value of the attribute matched, or \code{NULL} |
| if no exact match is found and no or more than one partial match is found. |
| } |
| \references{ |
| Becker, R. A., Chambers, J. M. and Wilks, A. R. (1988) |
| \emph{The New S Language}. |
| Wadsworth & Brooks/Cole. |
| } |
| \seealso{ |
| \code{\link{attributes}} |
| } |
| \examples{ |
| # create a 2 by 5 matrix |
| x <- 1:10 |
| attr(x,"dim") <- c(2, 5) |
| } |
| \keyword{attribute} |