attr {base} | R Documentation

## Object Attributes

### Description

Get or set specific attributes of an object.

### Usage

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

### Arguments

`x` | an object whose attributes are to be accessed.
`which` | a non-empty character string specifying which attribute is to be accessed.
`exact` | logical: should `which` be matched exactly?
`value` | an object, the new value of the attribute, or `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 `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.

### Value

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.

### References

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

### See Also

`attributes`

### Examples

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

[Package base version 3.4.2 Index]