MathGroup Archive 2010

[Date Index] [Thread Index] [Author Index]

Search the Archive

Re: Map function with 2 variables

  • To: mathgroup at smc.vnet.net
  • Subject: [mg114970] Re: Map function with 2 variables
  • From: Bob Hanlon <hanlonr at cox.net>
  • Date: Fri, 24 Dec 2010 04:14:08 -0500 (EST)
  • Reply-to: hanlonr at cox.net

Use Outer

Needs["MultivariateStatistics`"]

m = RandomReal[{0, 1}, {3, 100}];

Outer[SpearmanRankCorrelation, m, m, 1] ==
 {SpearmanRankCorrelation[m[[1]], #] & /@ m,
  SpearmanRankCorrelation[m[[2]], #] & /@ m,
  SpearmanRankCorrelation[m[[3]], #] & /@ m}

True


Bob Hanlon

---- Jagra <jagra24891 at mypacks.net> wrote: 

=============
I have a problem that comes up in a couple of situations and I've
never found the right solution.  I hoped I could get an idea of how to
generally address these kinds of things.

Say I have a function with two variables, something like a
SpearmanRankCorrelation[] from the MultiVariate Statistics package:

I also have matrix "m" with dimensions {3, 100}

m = RandomReal[{0, 1}, {3, 100}];

Now, say I want to create a correlation matrix using the
SpearmanRankCorrelation function.

I can get the rank correlations between a single vector of the matrix
and all the other vectors like this:

SpearmanRankCorrelation[m[[1]], #] & /@ m

This would give me a single row in a correlation matrix.   Pretty
straightforward, but now I want all 3 rows like I would get with this:

{SpearmanRankCorrelation[m[[1]], #] & /@ m,
SpearmanRankCorrelation[m[[2]], #] & /@ m,
SpearmanRankCorrelation[m[[3]], #] & /@ m}

There must be a way I can do this more directly.
I must be missing something simple.

Thanks.



  • Prev by Date: Re: Map function with 2 variables
  • Next by Date: Re: Map function with 2 variables
  • Previous by thread: Re: Map function with 2 variables
  • Next by thread: Re: Map function with 2 variables