在R语言里,可以使用%<a-%,%<c-%,%<d-%,rebind,<<-,进行绑定,分别为直接绑定、常量绑定、延迟绑定、重新绑定。
1. 直接绑定 %<a-%
> library(pryr)
> x %<a-% runif(1)
> x
[1] 0.7475925
> x
[1] 0.4454288
>
2. 常量绑定 %<c-%
> y %<c-% 4 + 2
[1] 6
> y
[1] 4
>
3. 延迟绑定 %<d-%
> z %<d-% (a + b)
> a <- 10
> b <- 100
> z
[1] 110
4. 重新绑定 rebind 或<<-
rebind 与 <<-的区别为: rebind只能对工作区内已有的数据或变量进行绑定,即绑定“已有的”;而<<-既可以绑定当前工作区里不存在的变量,也可以绑定存在的变量。
> a <- 1
> rebind("a", 2)
> a
[1] 2
> rebind("cc",3)
错误: Can't find cc
>
> a <<- 24
> a
[1] 24
> ls()
[1] "a"
> cc <<- 30 ##对工作区间里不存在的变量,赋值
> cc
[1] 30
>