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