函数组成
函数有三个部分组成:
- 表达式 formals
- 主体 body
- 环境 envir
前两者都是显式的,而环境则是隐式的。
栗子如下:
f02 <- function(x, y) {# A commentx + y}formals(f02)#> $x#>#>#> $ybody(f02)#> {#> x + y#> }environment(f02)#> <environment: R_GlobalEnv>
原始函数( Primitive functions)
这些函数直接由C 语言编写,在R 中被调用,比如:
> `+`function (e1, e2) .Primitive("+")> sumfunction (..., na.rm = FALSE) .Primitive("sum")
因此它们的类型也有所不同,而如果尝试获得其元素的话,也是NULL:

函数调用
- 几种多个函数调用方法的对比

句法作用域

- R 会在层层作用域中的最近一层寻找与变量相同名称的变量
- 即使R 可以避免函数与变量重名的冲突,我们也要小心!

- 函数每一次运行都会刷新其内部的子环境

- 函数是动态寻找的,它会一直在作用域中查找,而不是在某个时间段锁定某个变量。
