网站群建设规范定制开发小程序
网站群建设规范,定制开发小程序,湖南网站建设公司 都来磐石网络,做网站还是软件一、环境空间的特点
环境空间是一种特殊类型的变量#xff0c;它可以像其它变量一样被分配和操作#xff0c;还可以以参数的形式传递给函数。
R语言中环境空间具有如下3个特点#xff1a;
1、对象名称唯一性
此特点指的是在不同的环境空间中可以有同名的变量出现#x…一、环境空间的特点
环境空间是一种特殊类型的变量它可以像其它变量一样被分配和操作还可以以参数的形式传递给函数。
R语言中环境空间具有如下3个特点
1、对象名称唯一性
此特点指的是在不同的环境空间中可以有同名的变量出现但是在同一个环境空间内不允许有同名的变量出现即使对同一个变量进行多次赋值操作其每次赋值的内存地址也都不相同。
# 定义变量x并查看其内存地址
x - 你好关关。
data.table::address(x)
# 对x重新赋值然后查看其内存地址
x - c(22,33,44,55)
data.table::address(x) 2、变量赋值传递性
如果把当前环境空间变量赋值给一个新变量修改原有环境空间变量的值则新环境空间中的变量值也会跟着改变。
# 创建环境空间变量e1
e1 - new.env()
# 将环境空间变量e1赋值给e2
e2 - e1
# 给e1环境空间中的变量赋值
e1$x - c(1,2,3)
# 查看e2中的变量x
e2$x
# 比较e1和e2是否相同
identical(e1, e2)
# 查看e1和e2的环境地址是否相同
data.table::address(e1)
data.table::address(e2) 3、结构层次性 在R语言的环境变量中空环境是最顶层的环境空间其次是base包的环境空间最后是自定义的环境空间。可以通过递归查找父环境空间来查看整个环境空间的层次结构。
# 删除当前环境空间里的所有对象
rm(list ls())
# 创建新的环境空间对象e1
e1 - new.env()
# 编写递归查找父空间的函数
parent.find - function(e) {print(e)if (is.environment(e) !identical(emptyenv(), e)) {parent.find(parent.env(e))}
}
# 递归查找环境空间e1的父空间
parent.find(e1) 从以上结果可知内部环境e1的父环境是全局环境接着是base包环境和通过Autoloads函数加载的6个基础包环境statsgraphicsgrDevicesutilsdatasetsmethods最顶层的是空环境。
二、环境空间种类
R语言中有5种环境
全局环境也叫用户环境指在当前用户下R程序运行的环境空间。
内部环境通过“new.env()”命令创建的环境空间也可以是匿名的环境空间。
父环境当前环境空间所处的上一层环境。
空环境也叫顶层环境指没有父环境的环境空间。
包环境指R包封装的环境空间。
1、全局环境
# 全局环境当前环境
environment() 2、内部环境
e - new.env()
e 3、父环境
# 查看环境e的父环境
parent.env(e) 4、空环境
emptyenv() 5、包环境
baseenv() 三、环境空间的使用方法 R语言的base包有一些基础的函数可以用来使用环境空间。 environment查看函数的环境空间定义 environmentName查看环境空间的名字 env.profile查看环境空间的属性值 new.env创建一个新的环境空间 is.environment判断一个对象是否属于环境空间 ls列出当前环境空间中的所有对象 search查看当前环境空间中加载的R包 exists查看指定环境空间中的对象是否存在 get取出指定环境空间中的对象 assign给环境空间中的变量赋值 rm删除环境空间中的对象。 1、环境空间的访问 查看函数所在的环境空间
# 查看mean函数所在的环境空间
environment(mean) 新建环境空间
# 新建环境空间
e - new.env(hashT, parent parent.frame(), size29L) 判断是否是环境空间
# 判断是否是环境空间
is.environment(e) 查看环境空间的属性
# 查看环境空间的属性
env.profile(e) 设置环境空间的名字及查看其名字
# 设置环境空间的名字及查看其名字
attr(e, name) - Ning
environmentName(e) 2、环境空间的对象操作
清除当期环境空间中定义的所有对象并创建新对象
# 清除当前环境空间中定义的所有对象并创建新对象
rm(list ls())
e1 - new.env(hashT, parent parent.frame(), size 29L)
e1 给环境空间添加变量
# 给环境空间添加变量
e1$x - c(2,3,5,7)
e1$y - function(){你好关关。
}
assign(x a, value 你好关关。, envir e1) 查看当前环境空间和e1空间中的变量
ls(e1) 查看环境空间中某个变量是否存在
# 查看e1环境变量中x变量是否存在
exists(x, envire1) 取出环境空间中的变量值
get(x, envire1) 给环境空间中的变量重新赋值
assign(x x, value c(1,2,3,4,6,7), envir e1)
get(x, envire1) 删除环境空间中的变量
rm(x, envire1)
ls(e1)
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/87115.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!