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


R dimnames 对象的暗名称


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

说明

检索或设置对象的暗名称。

用法

dimnames(x)
dimnames(x) <- value

provideDimnames(x, sep = "", base = list(LETTERS), unique = TRUE)

参数

x

一个R对象,例如矩阵、数组或 DataFrame 。

value

dimnames(x) 的可能值:请参阅“值”部分。

sep

一个字符串,用于分隔构造的暗名称中的base符号和数字。

base

字符向量的非空list。列表组件依次使用(并在需要时回收)来构造空的暗名称组件的替换。另请参阅示例。

unique

逻辑表明构造的暗名在 make.unique 意义上在每个维度内都是唯一的。

细节

函数dimnamesdimnames<- 是通用函数。

对于 array (因此特别是 matrix ),它们检索或设置对象的 dimnames 属性(请参阅 attributes )。列表 value 可以有名称,这些名称将用于在适当的情况下标记数组的维度。

数组/矩阵的替换方法将 value 的向量和因子元素强制转换为字符,但不调度 as.character 的方法。它将零长度元素强制为 NULL ,并将零长度列表强制为 NULL 。如果 value 是一个短于维数的列表,则使用 NULL 将其扩展至所需的长度。

两者都有 DataFrame 的方法。数据帧的暗名称是 row.namesnames 。对于替换方法,value 的每个组件都将被 as.character 强制。

对于一维矩阵, namesdimnames 的(唯一)组件相同。

两者都是primitive 函数。

provideDimnames(x) 提供 dimnames 其中 “missing”,这样其结果对于每个组件都有 character 暗名称。如果默认情况下 unique 为 true,则它们通过 make.unique(*, sep=sep) 在每个组件中都是唯一的。

矩阵或数组的维度名称可以是 NULL (未存储)或与 dim(x) 长度相同的列表。如果是列表,则其组件是 NULL 或具有 x 适当维度的正长度的字符向量。该列表可以有名称。所有组件可能都是 NULL :这样的暗名称可能会转换为 NULL

对于 "data.frame" 方法,两个暗名称都是字符向量,并且行名称必须不包含重复值或缺失值。

provideDimnames(x) 返回 x ,带有“ NULL - free” dimnames ,即每个组件都是正确长度的字符向量。

注意

设置暗名称的组件,例如 dimnames(A)[[1]] <- value 是常见范例,但请注意,如果分配的值是 NULL ,则它将不起作用。使用 rownames 代替,或者(正如它所做的那样)操作整个暗名称列表。

例子

## simple versions of rownames and colnames
## could be defined as follows
rownames0 <- function(x) dimnames(x)[[1]]
colnames0 <- function(x) dimnames(x)[[2]]

(dn <- dimnames(A <- provideDimnames(N <- array(1:24, dim = 2:4))))
A0 <- A; dimnames(A)[2:3] <- list(NULL)
stopifnot(identical(A0, provideDimnames(A)))
strd <- function(x) utils::str(dimnames(x))
strd(provideDimnames(A, base= list(letters[-(1:9)], tail(LETTERS))))
strd(provideDimnames(N, base= list(letters[-(1:9)], tail(LETTERS)))) # recycling
strd(provideDimnames(A, base= list(c("AA","BB")))) # recycling on both levels
## set "empty dimnames":
provideDimnames(rbind(1, 2:3), base = list(""), unique=FALSE)

参考

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

也可以看看

rownamescolnamesarraymatrixdata.frame

相关用法


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