美文网首页
《Learning R》笔记 Chapter 6 上 环境

《Learning R》笔记 Chapter 6 上 环境

作者: 天火燎原天 | 来源:发表于2018-02-11 16:23 被阅读0次

R中的环境(environment)和作用域(scope)使用list了这一数据结构,正如同python中使用对应的dict结构进行管理。当然环境本身不是list这一class/type,而是专门的environment class,可以用is.environment()进行判断。使用as.list和as.environment或list2env()能够相互转换。

创建一个新的envir,使用new.env()。新创建的env可以使用list的各种操作,如[[]]索引,$索引等。
在实际操作中,针对envir的赋值和取值,也会使用assign()和get()函数:

assign(x, value, pos = -1, envir = as.environment(pos), #x为变量名
   inherits = FALSE, immediate = TRUE) 

get(x, pos = -1, envir = as.environment(pos), mode = "any",
inherits = TRUE)
#注意这里inherit默认是T,因此会在parent environment中也进行搜寻。

ls和ls.str能够接收env名称,输出其中的内容。exist()则是探究某环境中是否存在某变量名。

ls(envir=环境名)  ;  ls.str(envir=环境名) ; exist('变量名', 环境名)
#exist(... ,  inherits = TRUE)类似get()

在R术语中,frame和environment是同义词。
globalenv()储存控制台输入的变量;baseenv()储存R的基础函数和变量:

> get('letters',envir = baseenv())
 [1] "a" "b" "c" "d" "e" "f" "g" "h" "i" "j" "k" "l" "m" "n" "o" "p" "q" "r" "s" "t" "u" "v" "w" "x"
[25] "y" "z"

相关文章

网友评论

      本文标题:《Learning R》笔记 Chapter 6 上 环境

      本文链接:https://www.haomeiwen.com/subject/rkmktftx.html