From rgentlem at fhcrc.org  Wed Dec 13 20:30:48 2006
From: rgentlem at fhcrc.org (Robert Gentleman)
Date: Wed, 13 Dec 2006 11:30:48 -0800
Subject: [Rd] data frame subset patch, take 2
In-Reply-To: <200612131411.00760.vdergachev@rcgardis.com>
References: <200612061333.09050.vdergachev@rcgardis.com>	<200612131303.21982.vdergachev@rcgardis.com>	<45804519.7040009@santafe.edu>
	<200612131411.00760.vdergachev@rcgardis.com>
Message-ID: <458054E8.5020909@fhcrc.org>

Hi,
   We had the "names" discussion and, AFAIR, the idea that someone might 
misinterpret the output as suggesting that one could index by number, 
seemed to kill it. A more reasonable argument against is that names<- is 
problematic.

You can use $, [[ (with character subscripts), and yes ls does sort of 
do what you want (but sorts the values, not sure if that is good). I 
think it is also inefficient in that I believe it copies the CHARSXP's 
(not sure we really need to do that, but I have not had time to sort out 
the issues). And there is an eapply as well, so ls() is not always needed.

mget can be used to retrieve multiple values (and should be much more 
efficient than multiple calls to get). There is no massign (no one seems 
to have asked for it), and better design choice might be to vectorize 
assign.

best wishes
   Robert





Vladimir Dergachev wrote:
> On Wednesday 13 December 2006 1:23 pm, Marcus G. Daniels wrote:
>> Vladimir Dergachev wrote:
>>>     2. It would be nice to have true hashed arrays in R (i.e. O(1) access
>>> times). So far I have used named lists for this, but they are O(n):
>> new.env(hash=TRUE) with get/assign/exists works ok.  But I suspect its
>> just too easy to use named lists because it is easy, and that has bad
>> performance ramifications for user code (perhaps the R developers are
>> more vigilant about this for the R code itself).
> 
> Cool, thank you ! 
> 
> I wonder whether environments could be extended to allow names() to work 
> (altough I see that ls() does the same function) and to allow for(i in E) 
> loops.
> 
>                        thank you
> 
>                                Vladimir Dergachev
> 
> ______________________________________________
> R-devel at r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-devel
> 

-- 
Robert Gentleman, PhD
Program in Computational Biology
Division of Public Health Sciences
Fred Hutchinson Cancer Research Center
1100 Fairview Ave. N, M2-B876
PO Box 19024
Seattle, Washington 98109-1024
206-667-7700
rgentlem at fhcrc.org



[Rd] data frame subset patch, take 2
Robert Gentleman