Hi everyone,
I would like to compute the sum of cross products of rows of a matrix. Does anyone know how to do this without an explicit loop for computational efficiency? Below is a code example. Thanks! Stephan # I.e., if I have a matrix like this x <- matrix(rep(c(1,2,3),3),ncol=3) ## > x ## [,1] [,2] [,3] ## [1,] 1 1 1 ## [2,] 2 2 2 ## [3,] 3 3 3 ## and a storage matrix like this cross <- matrix(rep(0,9),ncol=3) ## then use a loop to sum up the cross products of the rows for (i in 1:nrow(x)){ cross <- cross+tcrossprod(x[i,]) } ## The result ## ## > cross ## [,1] [,2] [,3] ## [1,] 14 14 14 ## [2,] 14 14 14 ## [3,] 14 14 14 -- ----------------------- Stephan Lindner University of Michigan ______________________________________________ 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.