If you take a look at what is happening with Rprof, you will see that most of the time (96.6%) is being taken in the 'nndist' function, so if you want to improve your algorithm, can you somehow reduce the number of time you call it, or find a different approach. So it is a function of the algorithm you have chosen and unless you want to delve into 'nndist' and optimize it, then you will have to evaluate other approaches.
$by.total total.time total.pct self.time self.pct sim.nth.mdist 11.82 100.0 0.02 0.2 mean 11.62 98.3 0.10 0.8 nndist 11.42 96.6 0.02 0.2 nndist.ppp 11.40 96.4 0.10 0.8 nndist.default 11.26 95.3 0.14 1.2 apply 9.78 82.7 0.58 4.9 FUN 8.86 75.0 0.18 1.5 sort 8.68 73.4 1.58 13.4 sort.default 7.04 59.6 0.14 1.2 On 10/3/07, Dale Steele <[EMAIL PROTECTED]> wrote: > I've written the function below to simulate the mean 1st through nth > nearest neighbor distances for a random spatial pattern using the > functions nndist() and runifpoint() from spatsat. It works, but runs > relatively slowly - would appreciate suggestions on how to speed up > this function. Thanks. --Dale > > library(spatstat) > > sim.nth.mdist <- function(nth,nsim) { > D <- matrix(ncol=nth, nrow=nsim) > for (i in 1:nsim) { > rpp <- runifpoint(22, win=owin(c(0,1),c(0,1)), giveup=1000) > for (k in 1:nth) D[i,k] <- mean(nndist(rpp ,k=k)) > } > D > } > > sim.nth.mdist(5,100) > > ______________________________________________ > R-help@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. > -- Jim Holtman Cincinnati, OH +1 513 646 9390 What is the problem you are trying to solve? ______________________________________________ R-help@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.