当前位置: 首页 » R(给爷作个图) » R_Basic » 全局变量和局部变量

全局变量和局部变量

R是如何知道给那个符号赋予哪个值的呢?例如:
> lm <- function(x) { x * x }
> lm
function(x) { x * x }
为什么lm列出来的是function(x) { x * x },而不是其他的捏?

       当R开始给某个符号赋值的时候,它会从系列的环境中开始找对应的值,如下,他会从一个个环境中开始寻找,因为不同的时候赋值在不同的环境中,所以就可以找到。详略
> search()
[1] ".GlobalEnv" "package:stats" "package:graphics"
[4] "package:grDevices" "package:utils" "package:datasets"
[7] "package:methods" "Autoloads" "package:base"

library() #调用packages
> search() #这个时候环境就会发生改变。

例子:

参考资料:
Roger D. Peng的《Computing for Data Analysis》

ps:这个章节主要要讲明白的就是全局变量和局部变量的问题,你所用的值是来自于以前定义的,还是你现在定义的,以及为什么会是这样,过程及原理理解的不透彻,以后再好好补一下这方面的东西。


下一篇 :

上一篇 :

暂无评论

发表评论

电子邮件地址不会被公开。 必填项已用*标注

$(document).ready(function(){ $("#article-index").css('display','none');});