R语言学习之环境和函数的认识与应用

来源:互联网 发布:中拓互联 中文域名 编辑:程序博客网 时间:2024/05/01 18:50

创建的所有变量都存储于环境,而环境也是另外一种类型的变量,也可一把他当做参数传递给函数,可以与列表进行相互的切换

创建环境

> an <- new.env()> an<environment: 0x00000000034f8f70>> 

个人感觉有点类似于C语言中的指针

向环境中分配变量

> an <- new.env()> an<environment: 0x00000000034f8f70>> an[['py']] <- c(12,15,20,21)> an[['py']][1] 12 15 20 21> an$a <- c(12)> an[a]Error in an[a] : object of type 'environment' is not subsettable> an$a[1] 12> 

传入ls 或ls.str中,来检查所有的值

[1] 12> ls(envir = an)[1] "a"  "py"> ls.str(envir = an)a :  num 12py :  num [1:4] 12 15 20 21> 
所有的环境都是嵌套的,因此可以用exists和get来寻找变量

创建函数

hyp <- function(x,y) {sqrt (x^2 +y)}> hyp(2,2)[1] 2.44949

函数的返回值return 根据最后一个计算的值来返回

args函数返回函数的参数的结对列表,而formalArgs()可以来返回参数列表

> args(hyp)function (x, y) NULL> formalArgs(hyp)[1] "x" "y"



0 0