attributes
位于 base
包(package)。 说明
这些函数访问对象的属性。下面的第一种形式返回对象的属性列表。替换形式使用赋值右侧的列表作为对象的属性(如果适用)。
用法
attributes(x)
attributes(x) <- value
mostattributes(x) <- value
参数
x |
任何R对象 |
value |
适当命名的属性 |
细节
与 attr
不同,在 NULL
对象上设置属性不是错误:它首先会被强制为空列表。
请注意,某些属性(即 class
、 comment
、 dim
、 dimnames
、 names
、 row.names
和 tsp
)经过特殊处理,并且对可设置的值有限制。 (请注意,levels
并非如此,应通过 levels
替换函数设置因子。)
属性在内部不存储为列表,应将其视为集合而不是向量,即 attributes()
元素的顺序并不重要。这也反映在 identical()
使用默认参数 attrib.as.set = TRUE
的行为上。属性必须具有唯一的名称(并且 NA
被视为 "NA"
,而不是缺失值)。
分配属性首先删除所有属性,然后设置任何 dim
属性,然后按给定顺序设置其余属性:这可确保设置 dim
属性始终先于 dimnames
属性。
mostattributes
赋值特别注意 dim
、 names
和 dimnames
属性,并且仅在已知有效时才对它们进行赋值,而 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.
也可以看看
相关用法
- R attr 对象属性
- R attach 将一组 R 对象附加到搜索路径
- R apply 在数组边距上应用函数
- R as.Date 日期与字符之间的转换函数
- R agrep 近似字符串匹配(模糊匹配)
- R append 向量合并
- R assignOps 赋值运算符
- R as.POSIX* 日期时间转换函数
- R asplit 按边距分割数组/矩阵
- R abbreviate 缩写字符串
- R all.equal 测试两个对象是否(几乎)相等
- R aperm 数组转置
- R args 函数的参数列表
- R array2DF 将数组转换为 DataFrame
- R autoload 按需加载包
- R all.names 查找表达式中的所有名称
- R as.environment 强制环境对象
- R as.function 将对象转换为函数
- R assign 为名称分配值
- R any 有些值是真的吗?
- R array 多路阵列
- R as.data.frame 强制数据帧
- R all 所有的值都是真的吗?
- R file.path 构造文件路径
- R grep 模式匹配和替换
注:本文由纯净天空筛选整理自R-devel大神的英文原创作品 Object Attribute Lists。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。