If you want a purely tacit version of ms1, here's an approach which is not too
atrocious:

   ms1t=: ((2 _3 1 p.]) * %/@:-&1 3...@[) (] , %:@(+  (* -.))) <:@] * 2 
>:@%...@-~ [

That said... I think this should be written using a word for mean and another
for standard deviation.  Lumping everything together like this bothers me.

I can see having the word for standard deviation preserve the mean value,
since it must be calculated as an intermediate result.  But I think mean
deserves a word of its own.

Also, note that I did not get rid of one of the %/ operations.  This means
that the left argument must be treated with rank 0, or the resulting numbers
will be invalid.  (That said, using , like this, when composing the result does
not lend itself well to argument ranks other than zero)

-- 
Raul
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm

Reply via email to