[R] Using apply to generate matrix from rows?
    Stephan Lindner 
    lindners at umich.edu
       
    Mon Jan 19 18:39:31 CET 2009
    
    
  
Dear all,
I have a simple question which I unfortunately do not seem to be able
to solve myself. I have a (NxK) matrix and want to generate a new
matrix by multiplying each row with itself such that the new matrix
has dimension ((N*K)xK) (or better, generate an array with dimension
(K,K,N)). I tried apply, but that did not work. Any suggestions? 
Thanks! 
	Stephan
## Here is a simple example: 
u <- matrix(c(1,2,3,4,5,6,7,8,9,10),nrow=2)
## What I want to obtain 
u[1,]%*%t(u[1,])
u[2,]%*%t(u[2,])
## stacked together --> 10x5 matrix
## This does not work 
sq <- function(x)x%*%t(x)
apply(u,1,function(y)sq(y))
-- 
-----------------------
Stephan Lindner
University of Michigan
    
    
More information about the R-help
mailing list