【发布时间】:2015-07-20 06:55:58
【问题描述】:
如果我检查sqrt 函数的环境,我会得到NULL:
> environment(sqrt)
NULL
另一方面,同样在基础包中找到的函数split具有环境:
> environment(split)
<environment: namespace:base>
为什么这两个函数有不同的环境,NULL环境是什么意思?
【问题讨论】:
标签: r environment
如果我检查sqrt 函数的环境,我会得到NULL:
> environment(sqrt)
NULL
另一方面,同样在基础包中找到的函数split具有环境:
> environment(split)
<environment: namespace:base>
为什么这两个函数有不同的环境,NULL环境是什么意思?
【问题讨论】:
标签: r environment
sqrt 是一个原始函数,没有 R 代码。每Hadley Wickham's advanced R页面:
原始函数
函数具有三个组件的规则有一个例外。原始函数,如
sum(),调用 C 代码直接使用.Primitive(),不包含 R 代码。所以 他们的formals()、body()和environment()都是NULL。
【讨论】: