On Jan 6, 2008, at 7:55 PM, dxc13 wrote:

>
> useR's,
>
> I would like to know if there is a way to avoid using FOR loops to  
> perform
> the below calculation.
>
> Consider the following data:
>
snip
> Here, X is a matrix of 3 variables in which each is of size 5 and  
> XK are
> some values that correspond to each variable.  For each variable, I  
> want to
> do:
>
> |Xi - xkj|   where i = 1 to 3 and j = 1 to 10
>
That should be i=1 to 5 I take it?

If I understand what you want to do, then the outer function is the key:

lapply(1:3, function(i) { outer(x[,i], xk[,i],  "-") } )

This should land you with a list of three 5x10 tables

> It looks as if a double FOR loop would work, but can the apply  
> function
> work?  Or some other function that is shorter than a FOR loop?   
> Thank you, I
> hope this makes sense.
>
> Derek
>

Haris Skiadas
Department of Mathematics and Computer Science
Hanover College

______________________________________________
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