當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。