DeaR list

I would like to predict the values of each column of a matrix A by 
regressing it on all other columns of the same matrix A. I do this with 
a for loop:

        A <- B <- matrix(round(runif(10*3,1,10),0),10)
        A
        for (i in 1:length(A[1,]))    B[,i] <- as.matrix(predict(lm( A[,i] ~ 
A[,-i] )))
        B

It works fine, but I need it to be faster. I've looked at *apply but 
just can't seem to figure it out.
Maybe the solution could look somewhat like this:

        mylm <- function(y,ci) {
                x <- A[,-ci]
                b <- lm(y~x)
        }       
        B <- apply(A,2,mylm,ci=current_column_index(A))

Is there a way to pass the index of the current column in apply to my 
function? Am I on the right path at all?
Thanks for your help.

Regards, Stefan

______________________________________________
R-help@stat.math.ethz.ch mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html

Reply via email to