当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


R attributes 对象属性列表


R语言 attributes 位于 base 包(package)。

说明

这些函数访问对象的属性。下面的第一种形式返回对象的属性列表。替换形式使用赋值右侧的列表作为对象的属性(如果适用)。

用法

attributes(x)
attributes(x) <- value
mostattributes(x) <- value

参数

x

任何R对象

value

适当命名的属性 listNULL

细节

attr 不同,在 NULL 对象上设置属性不是错误:它首先会被强制为空列表。

请注意,某些属性(即 classcommentdimdimnamesnamesrow.namestsp )经过特殊处理,并且对可设置的值有限制。 (请注意,levels 并非如此,应通过 levels 替换函数设置因子。)

属性在内部不存储为列表,应将其视为集合而不是向量,即 attributes() 元素的顺序并不重要。这也反映在 identical() 使用默认参数 attrib.as.set = TRUE 的行为上。属性必须具有唯一的名称(并且 NA 被视为 "NA" ,而不是缺失值)。

分配属性首先删除所有属性,然后设置任何 dim 属性,然后按给定顺序设置其余属性:这可确保设置 dim 属性始终先于 dimnames 属性。

mostattributes 赋值特别注意 dimnamesdimnames 属性,并且仅在已知有效时才对它们进行赋值,而 attributes 赋值将在任何无效时给出错误。它主要用于数组,在分类对象上应小心使用。例如,它不会检查是否为数据帧正确分配了 row.names

配对列表的名称不存储为属性,但会像属性一样进行报告(并且可以通过 attributes 的替换形式进行设置)。

NULL 对象不能具有属性,尝试分配它们会将对象提升为空列表。

attributes 的赋值和替换形式都是primitive 函数。

例子

x <- cbind(a = 1:3, pi = pi) # simple matrix with 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

参考

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

也可以看看

attrstructure

相关用法


注:本文由纯净天空筛选整理自R-devel大神的英文原创作品 Object Attribute Lists。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。