How to Play With Attributes in R - dummies

How to Play With Attributes in R

By Andrie de Vries, Joris Meys

Both the names and the dimensions of matrices and arrays are stored in R as attributes of the object. These attributes can be seen as labeled values you can attach to any object.

They form one of the mechanisms R uses to define specific object types like dates, time series, and so on. They can include any kind of information, and you can use them yourself to add information to any object.

To see all the attributes of an object, you can use the attributes() function. You can see all the attributes of my.array like this:

> attributes(my.array)
[1] 3 4 2

This function returns a named list, where each item in the list is an attribute. Each attribute can, on itself, be a list again. For example, the attribute dimnames is actually a list containing the row and column names of a matrix.

You can check that for yourself by checking the output of attributes( You can set all attributes as a named list as well. You find examples of that in the Help file ?attributes.

To get or set a single attribute, you can use the attr() function. This function takes two important arguments. The first argument is the object you want to examine, and the second argument is the name of the attribute you want to see or change. If the attribute you ask for doesn’t exist, R simply returns NULL.

Imagine you want to add which season Granny and Geraldine scored the baskets mentioned in You can do this with the following code:

> attr(,'season') <- '2010-2011'

To get the value of this attribute returned, you can then use following code:

> attr(,'season')
[1] "2010-2011"

You can delete attributes again by setting their value to NULL, like this:

> attr(,'season') <- NULL