Dear Stephan,
Try
crossprod(x)
HTH,
Jorge
On Sat, Sep 19, 2009 at 11:42 PM, Stephan Lindner <> wrote:
> 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
>
> ______________________________________________
> [email protected] 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.
>
[[alternative HTML version deleted]]
______________________________________________
[email protected] 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.