From: Hesen Peng <hesen.peng_at_gmail.com>

Date: Fri, 1 Feb 2008 14:51:25 +0800

Date: Fri, 1 Feb 2008 14:51:25 +0800

Hi,

I wonder whether the following may help a little:

Since $\sum (x_i - y_i)^2 = \sum x_i^2 + \sum y_i^2 - 2 \sum x_i y_i$, we can modify the function as:

temp.distance<-function(x,y){

sum(x^2) + sum(y^2) - 2* x %*% y

}

I think this may be helpful when you need to compute the bootstrap distance for vectors from a matrix $X$. We simply need to pre-calculate sum(x^2) for each vector $x$, and access the resulted from designated vectors, say $xx$. Then we have:

xx<-RowSum(X^2)

another.distance<-function(i,j){ # i and j are the row index of vector x and y
xx[i] + xx[j] - 2*x[i,] %*% x[j,]

}

On Jan 31, 2008 10:28 AM, Jason Liao <jg_liao_at_yahoo.com> wrote:

> I have a program which needs to compute squared Euclidean distance

*> between two vectors million of times, which the Rprof shows is the
**> bottleneck. I wondered if there is any faster way than my own simple
**> function
**>
**> distance2 = function(x1, x2)
**> {
**> temp = x1-x2
**> sum(temp*temp)
**> }
**>
**> I have searched the R-help archives and can not find anything except
**> when the arguments are matrices. Thanks for any lead.
**>
**> Jason
**>
**> Jason Liao, http://www.geocities.com/jg_liao
**> Associate Professor of Biostatistics
**> Drexel University School of Public Health
**> 1505 Race Street, Mail Stop 1033
**> Bellet Building, 6th Floor
**> Philadelphia, PA 19102
**> phone 215-762-3934
**>
**>
**> ____________________________________________________________________________________
**> Looking for last minute shopping deals?
**>
**> ______________________________________________
**> 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.
**>
*

-- 彭河森 Hesen Peng Department of Statistics Fudan University Shanghai, P. R. C. ______________________________________________ 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.Received on Fri 01 Feb 2008 - 06:59:19 GMT

Archive maintained by Robert King, hosted by
the discipline of
statistics at the
University of Newcastle,
Australia.

Archive generated by hypermail 2.2.0, at Fri 01 Feb 2008 - 09:30:10 GMT.

*
Mailing list information is available at https://stat.ethz.ch/mailman/listinfo/r-help.
Please read the posting
guide before posting to the list.
*