[Rd] Why is there no within.environment function?

peter dalgaard pdalgd at gmail.com
Wed Mar 21 23:23:11 CET 2012


On Mar 21, 2012, at 23:01 , William Dunlap wrote:

> Wouldn't within.environment be identical to with.environment?
>> e <- new.env()
>> with(e, { One <- 1 ; Two <- 2+2i ; Theee <- One + Two })
>> objects(e)
>  [1] "One"   "Theee" "Two"
> It might make the transition between lists and environments
> simpler if within.environment  existed.
> 

evalq() would be rather more to the point. Then again, with() _is_ really just a sugar-coated evalq(). 

within() was quite specifically created because you couldn't do the same kind of things with data frames that you could do with environments, so the current thread does seem a bit peculiar to me... (The original design of within() would modify the object in-place, like fix(), but Luke objected.)


  


> Bill Dunlap
> Spotfire, TIBCO Software
> wdunlap tibco.com
> 
> 
>> -----Original Message-----
>> From: r-devel-bounces at r-project.org [mailto:r-devel-bounces at r-project.org] On Behalf
>> Of Richard Cotton
>> Sent: Wednesday, March 21, 2012 2:51 PM
>> To: r-devel at r-project.org
>> Subject: [Rd] Why is there no within.environment function?
>> 
>> If I want to assign some variables into an environment, it seems
>> natural to do something like
>> 
>> e <- new.env()
>> within(e,
>>    {
>>      x <- 1:5
>>      y <- runif(5)
>>    }
>> )
>> 
>> This throws an error, since within.environment doesn't exist.  I
>> realise I can work around it using
>> 
>> as.environment(within(as.list(e),
>>    {
>>      x <- 1:5
>>      y <- runif(5)
>>    }
>> ))
>> 
>> Just wondering why I can't use within directly with environments.
>> 
>> --
>> 4dpiecharts.com
>> 
>> ______________________________________________
>> R-devel at r-project.org mailing list
>> https://stat.ethz.ch/mailman/listinfo/r-devel
> ______________________________________________
> R-devel at r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-devel

-- 
Peter Dalgaard, Professor,
Center for Statistics, Copenhagen Business School
Solbjerg Plads 3, 2000 Frederiksberg, Denmark
Phone: (+45)38153501
Email: pd.mes at cbs.dk  Priv: PDalgd at gmail.com



More information about the R-devel mailing list