Hi,

I'm trying to use a function to multiply a matrix (newX) with a simple list 
(beta).
I know that I can simply use matrix multiplication i.e. newX %*%as.matrix(beta)
and this works fine. However, the matrix multiplication gives me the sum of 
each row. What I really need are the new values of all the columns in newX if 
they were multiplied by beta (so the first column of newX should be multiplied 
by the first value in beta, second column by the second value etc..)

This is the function I'm trying to use:

Terms <-NULL
count <- 0

for (i in 1: ncol(newX)){
  for (j in 1: length(beta)){
    Terms <- cbind (Terms,(newX[,i]*beta[j]))
  }
}

I don't get an error message, however the function runs for a long time (about 
an hour) without resolving and I end up stopping it.



Now, if I multiply every individual column by each value of beta, the 
calculation works (code is below):
newX[,1]*beta[1]
newX[,2]*beta[2]

but since newX has 520 columns and beta has 520 values, I'd rather use a 
shortcut!!


I can't figure out why the above function doesn't work. I've used it to 
multiply two matrices and it works just fine.
Any insight would be appreciated.

Yara

______________________________________________
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.

Reply via email to