Thank you Raul. As for gt, there are often multiple levels of sub-totals, requiring a loop, , or perhaps a recusrsive form.
Your point on reserved words is well taken. Robert On Mon, Sep 10, 2012 at 4:06 PM, Raul Miller <rauldmil...@gmail.com> wrote: > gt=: ([#_:), +/@:(}."1) > M=: mt,gt > > -- > Raul > > P.S. I do not like using reserved names globally (m,n,u,v,x,y). > > On Mon, Sep 10, 2012 at 3:00 PM, Robert Cyr <robert....@gmail.com> wrote: > > As a first step in analyzing data it is nice to have subtotals by > different > > parameters. I guess for example one could get total salaries, costs and > > sales totaled for an entire country and subtotaled by region, sex, age > of a > > sales-force. Each sale can then be included in an array of 6 columns in > > this case. Each subtotal would be produced with: > > > > mt=:(/:~)@(([:~.{."1 ),.{."1 +//. }."1) > > > > In our case, > > > > 3 mt (a: 6-column array) > > > > would produce all sub-totals. But for all levels of sub-totals as well as > > the grand total, the following would do: > > > > m=: 4 : 0 > > w=. (0,{:$y)$0 > > u=.y > > for_t. i.-x+1 do. > > u=. t mt u > > if. t < x do. u=. _ (<a:;t)}u end. > > w=.w,u > > end. > > /:~w > > ) > > > > on my iPad, i get: > > ts'4 m ?.1000000$,: 4 5#5 100' > > time: 4.39185 > > space: 1.97136e8 > > > > But I have not ben lucky wit a one-liner on this, I tried: > > > > 3 (}.@])`(($:<:@[)(],mt)])@.(0<[)a > > |stack error > > | 3 (}.@])`(($:<:@[)(],mt)])@.(0<[)a > > > > Expecting to substitute mt into this line and get a mean one-liner. > > > > Any hints or suggestion? > > > > Robert Cyr > > > > > > Sent from my iPad > > ---------------------------------------------------------------------- > > For information about J forums see http://www.jsoftware.com/forums.htm > ---------------------------------------------------------------------- > For information about J forums see http://www.jsoftware.com/forums.htm > ---------------------------------------------------------------------- For information about J forums see http://www.jsoftware.com/forums.htm