基本向量
包含單類型對象(例如整數(shù),浮點數(shù),復(fù)數(shù),文本,邏輯值或者原始型數(shù)據(jù))的向量
復(fù)合對象
包含一些列基本向量的數(shù)據(jù)結(jié)構(gòu),例如列表,配對列表,``S4對象或者環(huán)境.
這些對象的特性各不相同,但它們都包含一系列命名的對象
特殊對象
在R編程中服務(wù)于特定目的的對象,例如any,NULL和...等.
這類對象在特定的環(huán)境中具有十分重要的意義,但是無法創(chuàng)建一個屬于該類型的對象
R代碼,其被執(zhí)行后可以返回其他對象
函數(shù)
R的引擎;
其以參數(shù)作為輸入,同時返回一些對象作為輸出
有時候,函數(shù)會修改環(huán)境中的對象或者執(zhí)行R環(huán)境之外的任務(wù),例如繪制圖形,保存文件或者將數(shù)據(jù)傳輸至網(wǎng)絡(luò)等
內(nèi)置對象
被R正式定義的對象
在常見的R編程中,幾乎不會遇到內(nèi)置對象
字節(jié)碼對象
如果使用字節(jié)碼編譯器,R會生成一個運行在R虛擬機(jī)上的字節(jié)碼對象
R中的基本對象類型
分類 | 對象類型 | 描述 | 栗子 |
---|---|---|---|
向量 | 整型 |
序列元素的默認(rèn)類型,用integer() 函數(shù)可將其他對象強制轉(zhuǎn)化為整型 |
5:5 ,integer() |
雙精度型 | 用來表示浮點數(shù)(有小數(shù)點的數(shù)字或者較大的數(shù)字).現(xiàn)在的大多數(shù)平臺上,雙精度數(shù)值都是8字節(jié),即64位.默認(rèn)情況下,大多數(shù)數(shù)值都會用雙精度來表示.可用double()函數(shù)將其他對象強制轉(zhuǎn)換為雙精度對象 | ||
復(fù)數(shù)型 | 復(fù)數(shù),使用時必須包含實部和虛部(即使實部為零) |
0 + 1i |
|
字符串 | |||
邏輯值 |
T ,F |
||
原始型 | 包含原始型字節(jié)的向量,當(dāng)需要對來自R環(huán)境之外的對象進(jìn)行編碼時用到 |
raw(9) ,charToRaw("Hello") |
|
復(fù)合對象 | 列表 | 多種類型對象的合集.列表的元素可以被命名.R中很多其他類型的對象(例如數(shù)據(jù)框)是通過列表實現(xiàn)的 | |
配對列表 | 用來表示一系列成對命名對象的數(shù)據(jù)結(jié)構(gòu).配對列表是一個可以內(nèi)嵌使用但又可以在用戶層面應(yīng)用配對列表,因此與之相對比標(biāo)準(zhǔn)列表對象更為靈活有效 |
.Options pairlist(apple = 1, pear = 2, banana = 3) |
|
S4對象 | 支持現(xiàn)代面向?qū)ο缶幊棠J降腞對象(繼承,方法等) | ||
環(huán)境 |
R中的環(huán)境對象是在特定環(huán)境中的一組符號.環(huán)境包含一個符號-值 對的集合和一個指向封閉環(huán)境的指針.例如,可以使用一個默認(rèn)泛型函數(shù)的所有簽名 |
.GlobalEnvnew.env(parent = baseenv()) |
|
特殊對象 | 任意類型 | 可以屬于任意類型的對象.避免對象被強制轉(zhuǎn)化為別的對象類型.再定義S4對象的序列或者泛型函數(shù)的簽名時非常有用 |
seClass("Something", representation(data = "ANY")) |
NULL | 表示空值的對象.函數(shù)或者表達(dá)式返回的沒有值的對象通常屬于本類型.NULL對象可以沒有屬性 | ||
... |
在函數(shù)中用來實現(xiàn)不定長的參數(shù)列表設(shè)置,尤其是傳給其他函數(shù)的參數(shù) | ||
R語言 | 符號 | 符號是指向其他對象的R語言對象.從語法上分析R語句時經(jīng)常遇到 | |
允諾對象 | 允諾對象是創(chuàng)建時不執(zhí)行,在第一次調(diào)用時才執(zhí)行的R對象.常用來實現(xiàn)延遲加載包中的對象 |
x <- 1;y <- 2;z <- 3; delayedAssign("v", c(x, y, z)) v就是允諾對象 |
|
語言 | 在編寫R語言本身時用到R語言對象 | ||
表達(dá)式 | 未被執(zhí)行的R表達(dá)式.可以用expression函數(shù)來創(chuàng)建表達(dá)式對象,之后可以用eval函數(shù)來執(zhí)行表達(dá)式 | ||
函數(shù) | 閉路對象 | R系統(tǒng)內(nèi)部沒有應(yīng)用的R函數(shù).大部分函數(shù)對象都屬于閉路對象.包括用戶自定義的函數(shù),R中的大部分自帶函數(shù),以及R包中的大部分函數(shù) | |
特殊對象 | 內(nèi)置函數(shù),其參數(shù)不是必須調(diào)用執(zhí)行的 |
if[ |
|
內(nèi)嵌對象 | 執(zhí)行自身參數(shù)的內(nèi)置函數(shù) |
+, ^ |
|
字節(jié)碼對象 | compiler包生成的R編譯函數(shù) |
cmpfun(function(x) x^2) |
|
內(nèi)置對象 | char |
標(biāo)量串對象.字符向量可以分解為char 對象(用戶不能輕易創(chuàng)建該對象,一般也用不到) |
|
字節(jié)代碼對象 | 為未來的字節(jié)碼編譯器保留的一個數(shù)據(jù)類型 | ||
外部指針 | 外部指針,C代碼中用到 | ||
弱引用 | 弱引用對象(僅限內(nèi)部使用) |
到此這篇關(guān)于R語言基本對象類型知識點詳解的文章就介紹到這了,更多相關(guān)R語言基本對象類型內(nèi)容請搜索服務(wù)器之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持服務(wù)器之家!
原文鏈接:https://www.kancloud.cn/sacomplex/rlanguage/316836