什么是NULL环境?

时间:2015-07-20 06:55:58

标签: r environment

如果我检查sqrt功能的环境,我会NULL

> environment(sqrt)
NULL

另一方面,在基础包中也可以找到的函数split具有以下环境:

> environment(split)
<environment: namespace:base>

为什么这两个函数有不同的环境,NULL环境是什么意思?

1 个答案:

答案 0 :(得分:9)

sqrt是一个原始函数,没有R代码。每Hadley Wickham's advanced R页:

  

原始函数

     

规则有一个例外,即函数有三个组件。原始函数,如sum(),调用   C代码直接与.Primitive()并且不包含R代码。因此   他们的formals()body()environment()都是NULL