环境
详细的解释可以查看书《高级R语言编程指南》,这里总结一份与环境有关的函数总结:(参考R语言核心技术手册第二版)
| 函数 | 描述 | |
|---|---|---|
| assign | 在envir环境中将名称x赋给value对象 | |
| get | 在envir环境中获得与名称x关联的对象 | |
| exists | 判断在环境envir是是否定义了名称x | |
| objects | 以向量的形式返回envir环境中定义的所有(对象)名称 | |
| remove | 从envir环境中将参数中罗列的对象删除(列表不适合作为参数的名称,尤其当参数是向量时) | |
| search | 以向量的形式列出全局环境的所有父环境,也称为搜索路径 | |
| searchpaths | 以向量的形式返回全局环境的所有父环境的路径 | |
| attach | 将列表、数据框或数据文件中的对象添加到当前的搜索路径中 | |
| detach | 将列表、数据框或数据文件中的对象从当前的搜索路径中删除 | |
| emptyenv | 空环境对象,它是所有环境的祖先,也是唯一一个没有父环境的的环境 | |
| parent.env | 查看envir环境的父环境 | |
| baseenv | 基础环境,它是R基础软件包的环境,它的父环境是空环境 | |
globalenv(或.GlobalEnv) |
用户的工作环境,也叫全局环境,通常情况下我们就是在这个环境中工作的,全局环境的父环境是由library() 或require()添加的最后一个添加包 | |
| environment | 它是当前环境,(默认情况下,当前环境等于全局环境) | |
| new.env | 手动创建一个新的环境对象 | |
| parent.frame | 返回函数被调用的环境 ,即可以访问调用环境的父环境,常常作为参数使用,需要搭配其他函数eg:eval | |
函数调用 — 以堆栈的形式调用
调用栈的操作
| 函数 | 描述 |
|---|---|
| sys.call | 返回一个包含当前函数调用(包括参数)的语言对象 |
| sys.frame | 返回调用环境 |
| sys.nframe | 返回当前帧的编号(即在调用堆栈中的位置),如果在R控制台中调用该函数,返回值为0, |
| sys.function | 返回当前计算的函数 |
| sys.parent | 返回父环境的编号 |
| sys.calls | 返回栈中所有帧的调用 |
| sys.frames | 返回栈中所有的环境 |
| sys.parents | 返回栈中每个帧的父帧 |
| sys.on.exit | 返回当前on.exit所使用的表达式 |
| sys.status | 返回一个列表 |
| parent.frame | 返回sys.frame(sys.parent(n)) ,即返回函数被调用的父环境,即允许访问调用父环境.常常作为参数使用,需要搭配其他函数eg:eval |
参考
《R语言核心编程技巧第二版》