揭开R语言中环境空间的神秘面纱

本文深入探讨了R语言中的环境空间,包括环境的创建、层次结构、特征以及访问方法。环境空间是R语言中用于存储变量、对象和函数的基础结构,具有层次关系,每个环境都有唯一的名称,并可继承父环境的变量。通过`new.env()`创建新环境,使用`ls()`、`get()`、`assign()`等函数进行操作。理解环境空间对于提升R语言的使用效率至关重要。
摘要由CSDN通过智能技术生成

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/

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, pa
  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值