没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
揭开 R 语言中环境空间的神秘面纱
R 的极客理想系列文章,涵盖了 R 的思想,使用,工具,创新等的一系列要点,
以我个人的学习和体验去诠释 R 的强大。
R 语言作为统计学一门语言,一直在小众领域闪耀着光芒。直到大数据的爆发,
R 语言变成了一门炙手可热的数据分析的利器。随着越来越多的工程背景的人
的加入,R 语言的社区在迅速扩大成长。现在已不仅仅是统计领域,教育,银
行,电商,互联网….都在使用 R 语言。
要成为有理想的极客,我们不能停留在语法上,要掌握牢固的数学,概率,统
计知识,同时还要有创新精神,把 R 语言发挥到各个领域。让我们一起动起来
吧,开始 R 的极客理想。
关于作者:
张丹(Conan), 程序员 Java,R,PHP,Javascript
weibo:@Conan_Z
blog:http://blog.fens.me
email: bsspirit@gmail.com
转载请注明出处:
http://blog.fens.me/r-environments/
前言
环境空间(environment)对于大部分的 R 使用者来说,都是比较陌生的。虽然我
们不了解它的运行原理,但也不影响我们使用 R 语言。环境空间是 R 语言中关
于计算机方面的底层设计,主要用于 R 语言是环境加载器。通过环境空间,封
装了加载器的运行过程,让使用者在不知道底层细节的情况下,可以任意加载
使用到的第三方的 R 语言程序包。
本文将揭开 R 语言中环境空间的神秘面纱。
目录
1. R 语言的环境空间
2. 环境空间的特征
3. 环境空间的访问
1 R 语言的环境空间
在 R 语言中,不管是变量,对象,或者函数,都存在于 R 的环境空间中,R 程
序在运行时都自己的运行时空间。R 语言的环境(environment)是由内核定义的
一个数据结构,由一系列的、有层次关系的框架(frame)组成,每个环境对应一
个框架,用来区别不同的运行时空间(scope)。
环境空间有一些特征,比如 每个环境空间要有唯一的名字;环境空间是引入类
型的,非赋值类型;环境空间都有父环境空间,空环境是最顶层的环境空间,
没有父空间;子环境空间会继承父环境空间的变量等。
本文的系统环境
Linux: Ubuntu Server 12.04.2 LTS 64bit
R: 3.0.1 x86_64-pc-linux-gnu
为了方便我们检查对象的类型,引入 pryr 包作为辅助工具。关于 pryr 包的介绍,
请参考文章:撬动 R 内核的高级工具包 pryr
# 加载 pryr 包
> library(pryr)
1.1 创建一个环境
查看 new.env()函数的定义。
new.env(hash = TRUE, parent = parent.frame(), size = 29L)
参数列表:
hash 默认值是 TRUE,使用 Hash table 的结构。
parent 指定要创建环境的父环境。
size 初始化的环境空间大小。
运行函数 new.env(),创建一个新环境。
# 创建环境 e1
> e1 <- new.env()
# 输出 e1
> e1
<environment: 0x3d7eef0>
# 查看 e1 类型
> class(e1)
[1] "environment"
剩余15页未读,继续阅读
资源评论
jdli1122
- 粉丝: 0
- 资源: 2
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功