[datatable-help] Passing i, j and by to dt() as characters
    Melanie Bacou 
    mel at mbacou.com
       
    Sat Apr 14 02:58:38 CEST 2012
    
    
  
Matthew, Joe,
Thanks very much for the quick response, and for flagging the 
performance pitfalls!
In the general case I won't know what columns will be filtered against 
and we're working with files in the 1 to 10 million rows. It's not so 
much extra work to parse the 1st parameter and re-key the data, so I'm 
testing the 2 approaches.
Right now it's working with eval(parse(text=) and lots of paste() as 
Matt suggested -- not pretty but working. I didn't know about paste0(), 
I'm checking that as well.
Kudos for your incredible work with data.table.
-Mel.
param1 <- unlist(str_split(param1, ","))
param1 <- str_trim(param1)
param1 <- str_replace(param1, "=", "==")
param2 <- unlist(str_split(param2, ","))
param2 <- str_trim(param2)
dt <- data.table(dt)
dt <- eval(parse(text=paste("dt[", paste(param1, collapse="&"), ", 
lapply(.SD, flist), by = param3, .SDcols = param2]", sep="")))
On 2012-04-13 09:16, Steve Lianoglou wrote:
> Hmmm...
>
> On Fri, Apr 13, 2012 at 10:50 AM, Joseph Voelkel <jgvcqa at rit.edu> 
> wrote:
> [snip]
>
>> Please do not burn this heretic at the stake!
>
> ... well do you sink in water?
>
> -- Steve Lianoglou Graduate Student: Computational Systems Biology |
> Memorial Sloan-Kettering Cancer Center | Weill Medical College of
Cornell
> University Contact Info: http://cbio.mskcc.org/~lianos/contact
    
    
More information about the datatable-help
mailing list