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


R BasicClasses 基本數據類型對應的類


R語言 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-devel大神的英文原創作品 Classes Corresponding to Basic Data Types。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。