Re: Conditions with Statistical Functions
- To: mathgroup at smc.vnet.net
- Subject: [mg66131] Re: [mg66091] Conditions with Statistical Functions
- From: Bob Hanlon <hanlonr at cox.net>
- Date: Sun, 30 Apr 2006 04:21:54 -0400 (EDT)
- Reply-to: hanlonr at cox.net
- Sender: owner-wri-mathgroup at wolfram.com
- Sensitivity: Normal
conditionalMean[x_List?VectorQ, cond_Function]:= Mean[Select[x,cond]]; conditionalMean[x_List, cond_Function]:= conditionalMean[#,cond]&/@Transpose[x]; m=Table[Random[Integer,200],{4},{3}] {{12, 138, 117}, {92, 13, 178}, {147, 131, 123}, {34, 177, 109}} Mean/@m {89, 283/3, 401/3, 320/3} Mean[m] {285/4, 459/4, 527/4} conditionalMean[#,(#>100)&]&/@m {255/2, 178, 401/3, 143} conditionalMean[m,(#>100)&] {147, 446/3, 527/4} Bob Hanlon ---- Gregory Lypny <gregory.lypny at videotron.ca> wrote: > Yes, thanks Bob. But what about a matrix, where Mean operates column- > wise? Is there a compact statement where the mean will be calculated > over the values that exceed 100 in each column all in one shot? What > I've been doing is looping Select across the columns using Do and > applying Mean on each pass. I just thought there might be something > more efficient, if not more elegant. > > Regards, > > Greg > > On Sat, Apr 29, 2006, at 6:53 AM, Bob Hanlon wrote: > > > x={10,20,150,200,250}; > > > > Mean[Select[x,#>100&]] > > > > 200 > > > > > > Bob Hanlon > > >