环境

环境

详细的解释可以查看书《高级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语言核心编程技巧第二版》


次;