attributes package:base R Documentation _O_b_j_e_c_t _A_t_t_r_i_b_u_t_e _L_i_s_t_s _D_e_s_c_r_i_p_t_i_o_n: These functions access an object's attributes. The first form below returns the object's attribute list. The replacement forms uses the list on the right-hand side of the assignment as the object's attributes (if appropriate). _U_s_a_g_e: attributes(obj) attributes(obj) <- value mostattributes(obj) <- value _A_r_g_u_m_e_n_t_s: obj: an object value: an appropriate named list of attributes, or 'NULL'. _D_e_t_a_i_l_s: Unlike 'attr' it is possible to set attributes on a 'NULL' object: it will first be coerced to an empty list. 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.) Attributes are not stored internally as a list and should be thought of as a set and not a vector. They must have unique names (and 'NA' is taken as '"NA"', not a missing value). Assigning attributes first removes all attributes, then sets any 'dim' attribute and then the remaining attributes in the order given: this ensures that setting a 'dim' attribute always precedes the 'dimnames' attribute. The 'mostattributes' assignment takes special care for the 'dim', 'names' and 'dimnames' attributes, and assigns them only when valid whereas an 'attributes' assignment would give an error if any are not. The names of a pairlist are not stored as attributes, but are reported as if they were (and can be set by the replacement method for attributes). These functions are primitive, so argument names are ignored. _R_e_f_e_r_e_n_c_e_s: Becker, R. A., Chambers, J. M. and Wilks, A. R. (1988) _The New S Language_. Wadsworth & Brooks/Cole. _S_e_e _A_l_s_o: 'attr'. _E_x_a_m_p_l_e_s: x <- cbind(a=1:3, pi=pi) # simple matrix w/ dimnames attributes(x) ## strip an object's attributes: attributes(x) <- NULL x # now just a vector of length 6 mostattributes(x) <- list(mycomment = "really special", dim = 3:2, dimnames = list(LETTERS[1:3], letters[1:5]), names = paste(1:6)) x # dim(), but not {dim}names