[R] Multiple operations on list

Wolski wolski at molgen.mpg.de
Mon Sep 20 19:36:22 CEST 2004


Hi!

Not sure if I got your point. 
But if it is to compute apply a function
to all pairs (x1,x2);(x1,x3);(x2,x3) where x1,x2,x3 are stored in a list you can take look at the sources 
of  function listdist which computes an object of class dist from a list, in the package "pairseqsim" available from bioconducor, to get an idea how to do this.

/E

*********** REPLY SEPARATOR  ***********

On 20.09.2004 at 13:24 Stephane DRAY wrote:

>Hello,
>
>suppose I have a list with matrices:
>
>a=list(x1=matrix(rnorm(10),5,2),x2=matrix(rnorm(10),5,2),x3=matrix(rnorm(10),5,2))
>
>I want to compute for all combination of xi and xj (x1,x2 x1,x3 and x2,x3) 
>a value.
>This value is given for the pair x1,x2 by trace(x1%*%t(x1)%*%x2%*%t(x2)) / 
>trace(x1%*%t(x1))*trace(x2%*%t(x2))
>
>I know that product matrices t(xi)%*%xi can be obtained by:
>
>aa=lapply(a,crossprod)
>
>but I do not know how to "mix" the values in aa to obtain the desired
>values.
>
>Is there a way to do it without for loop ?
>
>Thanks in advances,
>
>sincerely
>
>Stéphane DRAY
>-------------------------------------------------------------------------------------------------- 
>
>Département des Sciences Biologiques
>Université de Montréal, C.P. 6128, succursale centre-ville
>Montréal, Québec H3C 3J7, Canada
>
>Tel : (514) 343-6111 poste 1233         Fax : (514) 343-2293
>E-mail : stephane.dray at umontreal.ca
>-------------------------------------------------------------------------------------------------- 
>
>Web                                         
>http://www.steph280.freesurf.fr/
>
>______________________________________________
>R-help at 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




More information about the R-help mailing list