[R] Improving effeciency - better table()?

Liaw, Andy andy_liaw at merck.com
Tue Jul 6 15:02:26 CEST 2004


Since you didn't provide an example of what z.trun and breaks may look like,
most people can only guess.  Before asking how code can be made more
efficient, it might be more helpful to find out where in the code is taking
time.  Try:

Rprof()
obs <- table(cut2(z.trun, cuts=breaks))
Rprof(NULL)
summaryRprof()

Andy

> From: Simon Cullen
> 
> Hi,
> 
> I've been running some simulations for a while and the 
> performance of R  
> has been great. However, I've recently changed the code to 
> perform a sort  
> of chi-square goodness-of-fit test. To get the observed 
> values for each  
> cell I've been using table() - specifically I've been using 
> cut2 from  
> Hmisc to divide up the range into a specified number of cells 
> and then  
> using table to count how many observations appear in each cell.
> 
> > obs <- table(cut2(z.trun, cuts=breaks))
> 
> Having done this I've found that the code takes much longer 
> to run - up to  
> 10x as long. Is there a more effecient way of doing this? 
> Anyone have any  
> thoughts?
> 
> -- 
> SC
> 
> Simon Cullen
> Room 3030
> Dept. Of Economics
> Trinity College Dublin
> 
> Ph. (608)3477
> Email cullens at tcd.ie




More information about the R-help mailing list