[R] own function: computing time

William Dunlap wdunlap at tibco.com
Wed Oct 10 18:46:18 CEST 2012


Are the points you are looking for (those data points with no other data
points above or to the right of them) a subset of the convex hull of the
data points?  If so, chull(x,y) can quickly give you the points on the convex
hull (typically a fairly small number) and you can look through them for
the ones you want.

Bill Dunlap
Spotfire, TIBCO Software
wdunlap tibco.com


> -----Original Message-----
> From: r-help-bounces at r-project.org [mailto:r-help-bounces at r-project.org] On Behalf
> Of tonja.krueger at web.de
> Sent: Wednesday, October 10, 2012 3:16 AM
> To: r-help at r-project.org
> Subject: [R] own function: computing time
> 
> Hi all,
> 
> I wrote a function that actually does what I want it to do, but it tends to be very slow for
> large amount of data. On my computer it takes 5.37 seconds for 16000 data points and
> 21.95 seconds for 32000 data points. As my real data consists of 18000000 data points it
> would take ages to use the function as it is now.
> Could someone help me to speed up the calculation?
> 
> Thank you, Tonja
> 
> system.time({
> x <- runif(32000)
> y <- runif(32000)
> 
> xy <- cbind(x,y)
> 
> outer <- function(z){
> !any(x > z[1] & y > z[2])}
> j <- apply(xy,1, outer)
> 
> plot(x,y)
> points(x[j],y[j],col="green")
> 
> })
> 
> ______________________________________________
> R-help at r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-help
> PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
> and provide commented, minimal, self-contained, reproducible code.




More information about the R-help mailing list