Re: Conditions with Statistical Functions
- To: mathgroup at smc.vnet.net
- Subject: [mg66169] Re: Conditions with Statistical Functions
- From: Gregory Lypny <gregory.lypny at videotron.ca>
- Date: Tue, 2 May 2006 02:43:44 -0400 (EDT)
- References: <16568608.1146308002406.JavaMail.root@eastrmwml01.mgt.cox.net> <e31vb8$hgd$1@smc.vnet.net> <4454EC45.8030009@gmail.com>
- Sender: owner-wri-mathgroup at wolfram.com
Thanks again, Jean-Marc.
This is elegant. As I mentioned before, I'm facing an uphill battle
with Mathematica's syntax, and in particular, the meaning and
placement of things like #, #1, or #[[1]], &, @, @@, @@@, /@, /. .
It's all a bit overwhelming!
I think I understand your second version better, so I'll work with it
first. If I'm not mistaken, /@ tells the Mean function to map over
its argument and #1 directs that mapping to the first argument, which
for Mean applied to a matrix is a vector. What I never would have
gotten on my own is the use of the second ampersand in parenthesis.
Is that meant to connect Select with Transpose? I'm also not quite
clear on why we need Transpose because Mean operates on columns anyway.
Regards,
Greg
On Sun, Apr 30, 2006, at 12:56 PM, Jean-Marc Gulliet wrote:
> In[3]:=
> Mean /@ (Transpose[lst /. x_ /; x <= 100 -> 0] /.
> 0 -> Sequence[])
>
> Out[3]=
> 1311 1450 527
> {125, ----, ----, ---}
> 8 9 3
>
> In[4]:=
> Mean /@ (Select[#1, #1 > 100 & ] & ) /@ Transpose[lst]
>
> Out[4]=
> 1311 1450 527
> {125, ----, ----, ---}
> 8 9 3
>
> Best regards,
> Jean-Marc