當前位置:編程學習大全網 - 源碼下載 - 關於R中的mode和class的區別

關於R中的mode和class的區別

首先,mode和typeof可以歸為壹個類別,class是另外壹個類別。mode和typeof描述的是數據在內存中的存儲類型;class描述的是對象的類屬性(比如馬就是壹個類,紅馬或者白馬就是子類,張三的白馬和李四的紅馬就是對象,馬這個類有什麽屬性就是類屬性,就像顏色,體重等等)

因為歷史的原因(更新過好多次,前身是S語言),所以R語言中數據對象的存儲類型變化過好多次。mode和storage.mode得到的是壹種比較古老的類型,來自於S語言,其中storage.mode比mode要更精確

mode(3L) # numeric

storage.mode(3L) # integer

typeof 是壹種最新的查看類型的函數,針對於R語言而非S語言,而且更為精確,更為細致

storage.mode(`identical`) # function

storage.mode(`if`) # function

typeof(`identical`) # closure

typeof(`if`) # special

class和oldClass返回對象的類屬性。對於指定類屬性的數據對象,class和oldClass的結果是壹樣的

a=data.frame(1:10)

oldClass(a) # "data.frame"

class(a) # "data.frame"

但是如果沒有指定數據對象的類屬性,那麽oldClass返回NULL,而class會根據數據對象的存儲類型(type)與維度屬性來自動給出壹個類屬性

oldClass(3L) # NULL

class(3L) # integer

class(structure(3L, dim=1)) # array

class(structure(3L, dim=c(1,1))) # matrix

  • 上一篇:Cdh組件源代碼修改
  • 下一篇:奮進新征程建功新時代主題征文
  • copyright 2024編程學習大全網