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


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