[R] What the difference between .Golbalenv and package:base?

John McKown john.archie.mckown at gmail.com
Mon Aug 25 15:53:37 CEST 2014


On Mon, Aug 25, 2014 at 1:07 AM, PO SU <rhelpmaillist at 163.com> wrote:
>
>
> Dear rusers,
>
>     As we know, there are a lot of environments in the search() path, such as   .Golbalenv and package:base .
> And  i can just use  .Golbalenv$a ,.Golbalenv$b to use the virable,  but i must use as.envrionment("package:base") to find virable, i feel it not very convenient.
>
>
> For example, when i use the following codes to add a new env into the search() path.
>
>
>
>> tmp<-attach(NULL,name="new_name")
>> assign("a",2,envir=as.environment("new_name"))
>> a
> [1] 2
>> as.environment("new_name")$a
> [1] 2
>  I must always convert the name to the environment, How can i just use the following form:
>
>
>
>> tmp<-attach(NULL,name="new_name")
>> assign("a",2,envir=new_name)   #like using  .GlobalEnv
>> a
> [1] 2
>> new_name$a
>
> [1] 2
>
>
> --
>
> PO SU
> mail: desolator88 at 163.com
> Majored in Statistics from SJTU

You might want to try:

new_name <- new.env();
# or if you prefer (such as in a function)
assign("new_name",new.env(),envir=.GlobalEnv);
#
# You may now assign variable into this similar to:
new_name$a <- 2;
gvar <- new_name$a; # get the variable a from environment new_name
gvar <- get("a",envir=new_name); #same thing, but wordy
attach(new_name);
a
gvar <- a;


-- 
There is nothing more pleasant than traveling and meeting new people!
Genghis Khan

Maranatha! <><
John McKown



More information about the R-help mailing list