符號
當在R中定義一個變量時,實際上就是在環境中將一個符號賦給一個值
1
|
x <- 1 |
實際上就是在全局環境中將符號x賦給一個長度為1,值為1的向量對象
當R解釋器對表達式求值時,它會處理所有的符號
如果將若干個符號組合成一個對象,R會解析成該對象的每個符號
1
2
3
4
5
6
7
8
9
10
11
|
> 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 |
可以推遲表達式的求值,使得符號不會立即被解析
1
2
3
4
5
6
7
8
9
10
11
|
> 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函數創建一個允諾對象,使得變量只在初次用到時才會被求值
1
2
3
4
5
6
7
|
> x <- 1 > y <- 2 > z <- 3 > delayedAssign( "v" , c(x, y, z)) > x <- 5 > v [1] 5 2 3 |
在包中使用允諾對象可以讓用戶使用對象而無須將其加載到內存中
不過無法判斷一個對象是否是允諾對象,也無從知道它是在哪個環境中創建的
到此這篇關于R語言符號知識點匯總的文章就介紹到這了,更多相關R語言符號內容請搜索服務器之家以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持服務器之家!
原文鏈接:https://www.kancloud.cn/sacomplex/rlanguage/316837