Hi Wei Wu, What about:
x <- matrix(rnorm(20000*5),ncol=5) y <- rnorm(5) distances <- rowSums((x-y)**2) Cheers, Tsjerk On Wed, Aug 24, 2011 at 8:43 AM, Enrico Schumann <enricoschum...@yahoo.de> wrote: > > You could do something like this: > > # data > nrows <- 20000L > ncols <- 5L > myVec <- array(rnorm(nrows * ncols), dim = c(nrows, ncols)) > y <- rnorm(ncols) > > temp <- t(myVec) - y > result <- colSums(temp * temp) > > # check > all.equal(as.numeric(crossprod(myVec[1L, ] - y)), result[1L]) > #... > > (And don't use a data.frame, but a matrix.) > > regards, > Enrico >> -----Ursprüngliche Nachricht----- >> Von: r-help-boun...@r-project.org >> [mailto:r-help-boun...@r-project.org] Im Auftrag von Wei Wu >> Gesendet: Mittwoch, 24. August 2011 07:18 >> An: r-help@r-project.org >> Betreff: [R] Efficient way to Calculate the squared distances >> for a set ofvectors to a fixed vector >> >> I am pretty new to R. So this may be an easy question for most of you. >> >> I would like to calculate the squared distances of a large >> set (let's say 20000) of vectors (let's say dimension of 5) >> to a fixed vector. >> >> Say I have a data frame MY_VECTORS with 20000 rows and 5 >> columns, and one 5x1 vector y. I would like to efficiently >> calculate the squared distances between each of the 20000 >> vectors in MY_VECTORS and y. >> >> The squared distance between two vectors x and y can be calculated: >> distance <- crossprod(x-y) >> >> Without looping, what is the efficient code to achieve this? >> >> Thanks. >> >> ______________________________________________ >> 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. > > ______________________________________________ > 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. > -- Tsjerk A. Wassenaar, Ph.D. post-doctoral researcher Molecular Dynamics Group * Groningen Institute for Biomolecular Research and Biotechnology * Zernike Institute for Advanced Materials University of Groningen The Netherlands ______________________________________________ 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.