BasicClasses
位於 methods
包(package)。 說明
形式類與基本 R 對象類型相對應,允許這些類型在方法簽名中使用,作為類定義中的槽,並由新類擴展。
用法
### The following are all basic vector classes.
### They can appear as class names in method signatures,
### in calls to as(), is(), and new().
"character"
"complex"
"double"
"expression"
"integer"
"list"
"logical"
"numeric"
"single"
"raw"
### the class
"vector"
### is a virtual class, extended by all the above
### the class
"S4"
### is an object type for S4 objects that do not extend
### any of the basic vector classes. It is a virtual class.
### The following are additional basic classes
"NULL" # NULL objects
"function" # function objects, including primitives
"externalptr" # raw external pointers for use in C code
"ANY" # virtual classes used by the methods package itself
"VIRTUAL"
"missing"
"namedList" # the alternative to "list" that preserves
# the names attribute
類中的對象
如果類不是虛擬的(請參閱 Classes_Details
中的部分),則可以通過調用 new(Class, ...)
形式來創建對象,其中 Class
是帶引號的類名,其餘參數(如果有)是要解釋為的對象此類的向量。多個參數將被連接起來。
類 "expression"
有點奇怪,因為...參數不會被評估;因此,不要將它們包含在對 quote()
的調用中。
請注意,"list"
類是純向量。盡管帶有名稱的列表可以追溯到 S 的最早版本,但它們是向量概念的擴展,因為它們具有屬性(現在可以是槽)並且可以是 NULL
或相同長度的字符向量作為向量。如果要保證保留列表名稱,請使用類 "namedList"
,而不是 "list"
。此類中的對象必須具有與 "character"
類型的插槽 "names"
相對應的名稱屬性。在內部,R 特別對待列表的名稱,這使得類 "namedList"
中的相應槽成為字符名稱和 NULL
的並集是不切實際的。
類別和類型
基本類包括基本 R 類型的類。請注意,這些類型的對象通常不會是 S4 對象( isS4
將返回 FALSE
),盡管包含基本類的類中的對象將是 S4 對象,但類型仍然相同。 typeof
返回的類型有時與類不同,這或者隻是由於術語的選擇(例如類型 "symbol"
和類 "name"
),或者是因為類之間不存在一對一的對應關係和類型(例如,從類 "language"
繼承的大多數類都具有類型 "language"
)。
擴展
向量類直接擴展"vector"
。
方法
- 強製
-
定義方法以通過調用相應的基本函數將任意對象強製到向量類,例如
as(x, "numeric")
調用as.numeric(x)
。
相關用法
- R as 強製對象屬於某個類
- R language-class 表示未評估語言對象的類
- R className 類名包含對應的包
- R callGeneric 從方法調用當前通用函數
- R findClass 查找類定義
- R setOldClass 注冊舊式 (S3) 類和繼承
- R ReferenceClasses 具有按引用處理的字段的對象(OOP 樣式)
- R MethodsList 方法列表對象
- R setGroupGeneric 創建函數的組通用版本
- R StructureClasses 基本結構對應的類
- R showMethods 顯示指定函數或類的所有方法
- R getMethod 獲取或測試方法的定義
- R slot 正式類對象中的槽
- R S4groupGeneric S4組通用函數
- R methodUtilities 用於方法和 S-Plus 兼容性的實用函數
- R getClass 獲取類定義
- R evalSource 使用源文件中的函數定義,無需重新安裝包
- R is 對象是來自類嗎?
- R isSealedMethod 檢查密封方法或類
- R cbind2 按列或行組合兩個對象
- R GenericFunctions 管理通用函數的工具
- R dotsMethods 在方法簽名中使用...
- R S3Part 包含 S3 類的 S4 類
- R nonStructure-class 基本類型的非結構 S4 類
- R selectSuperClasses 類的超類(特定類型)
注:本文由純淨天空篩選整理自R-devel大神的英文原創作品 Classes Corresponding to Basic Data Types。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。