R語言符號知識點匯總

符號

當在R中定義一個變量時,實際上就是在環境中將一個符號賦給一個值

x <- 1

實際上就是在全局環境中將符號x賦給一個長度為1,值為1的向量對象

當R解釋器對表達式求值時,它會處理所有的符號

如果將若幹個符號組合成一個對象,R會解析成該對象的每個符號

> x <- 1
> y <- 2
> z <- 3
> 
> (v <- c(x, y, z))
[1] 1 2 3
> 
> #由於v已定義,更改x的值並不會使v的值也相應變化 
> x <- 10
> v
[1] 1 2 3

可以推遲表達式的求值,使得符號不會立即被解析

> x <- 1
> y <- 2
> z <- 3
> 
> v <- quote(c(x, y, z))
> eval(v)
[1] 1 2 3
> 
> x <- 5
> eval(v)
[1] 5 2 3

使用delayedAssign函數創建一個允諾對象,使得變量隻在初次用到時才會被求值

> x <- 1
> y <- 2
> z <- 3
> delayedAssign("v", c(x, y, z))
> x <- 5
> v
[1] 5 2 3

在包中使用允諾對象可以讓用戶使用對象而無須將其加載到內存中

不過無法判斷一個對象是否是允諾對象,也無從知道它是在哪個環境中創建的

到此這篇關於R語言符號知識點匯總的文章就介紹到這瞭,更多相關R語言符號內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!

推薦閱讀: