Yes! Joe has the verb I need:
tst
┌──┬─┐
│10│0│
├──┼─┤
│10│0│
├──┼─┤
│10│1│
├──┼─┤
│10│0│
├──┼─┤
│10│0│
├──┼─┤
│10│0│
├──┼─┤
│11│1│
├──┼─┤
│11│0│
├──┼─┤
│11│0│
├──┼─┤
│11│0│
├──┼─┤
│11│1│
├──┼─┤
│12│1│
├──┼─┤
│12│0│
├──┼─┤
│12│0│
├──┼─┤
│12│0│
├──┼─┤
│12│0│
├──┼─┤
│12│1│
├──┼─┤
│12│1│
├──┼─┤
│12│0│
└──┴─┘
bx=: 3 : '|: (~. (0&{"1) y) ,: (0&{"1 <@;/. 1&{"1) y'
]a =: bx tst
┌──┬───────────────┐
│10│0 0 1 0 0 0 │
├──┼───────────────┤
│11│1 0 0 0 1 │
├──┼───────────────┤
│12│1 0 0 0 0 1 1 0│
└──┴───────────────┘
Now I just need a select verb:
11 sel a
1 0 0 0 1
12 sel a
1 0 0 0 0 1 1 0
In other uses, the boolean string can be replaced by a character string,
so the bx and sel verbs needs to handle all char types:
]b
┌──┬───────────────┐
│10│this is a test.│
├──┼───────────────┤
│11│Another test. │
├──┼───────────────┤
│12│The last test. │
└──┴───────────────┘
11 sel b
Another test.
<<<>>>
Skip
Skip Cave
Cave Consulting LLC
On Tue, Apr 10, 2018 at 12:51 PM, Joe Bogner <[email protected]> wrote:
> It sounds like maybe this is what you want?
>
> (0&{"1 </. ]) tst
> ┌──────┬──────┬──────┐
> │┌──┬─┐│┌──┬─┐│┌──┬─┐│
> ││10│1│││11│0│││12│1││
> │├──┼─┤│├──┼─┤│├──┼─┤│
> ││10│1│││11│0│││12│0││
> │├──┼─┤│├──┼─┤│├──┼─┤│
> ││10│1│││11│1│││12│0││
> │├──┼─┤│├──┼─┤│├──┼─┤│
> ││10│0│││11│0│││12│0││
> │├──┼─┤│├──┼─┤│├──┼─┤│
> ││10│1│││11│1│││12│1││
> │├──┼─┤│└──┴─┘│├──┼─┤│
> ││10│1││ ││12│0││
> │└──┴─┘│ │├──┼─┤│
> │ │ ││12│0││
> │ │ │├──┼─┤│
> │ │ ││12│1││
> │ │ │└──┴─┘│
> └──────┴──────┴──────┘
>
>
> or
>
> |: (~. (0&{"1) tst) ,: (0&{"1 <@;/. 1&{"1) tst
> ┌──┬───────────────┐
> │10│1 1 1 0 1 1 │
> ├──┼───────────────┤
> │11│0 0 1 0 1 │
> ├──┼───────────────┤
> │12│1 0 0 0 1 0 0 1│
> └──┴───────────────┘
>
>
>
>
>
> On Tue, Apr 10, 2018 at 1:45 PM, 'Pascal Jasmin' via Programming <
> [email protected]> wrote:
>
> > if I understand correctly, there are 2 levels of boxing (or data can be
> > made into 2 level) such as
> >
> > <"1 <"0 ? 3 10 $ 2
> >
> > then, this will unbox the inner set without introducing fills.
> >
> > ; each <"1 <"0 ? 3 10 $ 2
> >
> >
> >
> >
> > ________________________________
> > From: Skip Cave <[email protected]>
> > To: "[email protected]" <[email protected]>
> > Sent: Tuesday, April 10, 2018 1:32 PM
> > Subject: Re: [Jprogramming] Indvidual unboxing
> >
> >
> >
> >
> > I probably need to back up a step:
> >
> > My original data looks something like this:
> >
> > t=: 4 : '(y#x),.?y#2'
> >
> > ]tst=: > each(10 t 6),"2 (11 t 5), 12 t 8
> >
> > ┌──┬─┐
> >
> > │10│0│
> >
> > ├──┼─┤
> >
> > │10│1│
> >
> > ├──┼─┤
> >
> > │10│1│
> >
> > ├──┼─┤
> >
> > │10│1│
> >
> > ├──┼─┤
> >
> > │10│1│
> >
> > ├──┼─┤
> >
> > │10│0│
> >
> > ├──┼─┤
> >
> > │11│0│
> >
> > ├──┼─┤
> >
> > │11│1│
> >
> > ├──┼─┤
> >
> > │11│0│
> >
> > ├──┼─┤
> >
> > │11│0│
> >
> > ├──┼─┤
> >
> > │11│0│
> >
> > ├──┼─┤
> >
> > │12│0│
> >
> > ├──┼─┤
> >
> > │12│1│
> >
> > ├──┼─┤
> >
> > │12│0│
> >
> > ├──┼─┤
> >
> > │12│1│
> >
> > ├──┼─┤
> >
> > │12│1│
> >
> > ├──┼─┤
> >
> > │12│1│
> >
> > ├──┼─┤
> >
> > │12│0│
> >
> > ├──┼─┤
> >
> > │12│0│
> >
> > └──┴─┘
> >
> >
> > I want to box the boolean second column using the first column for an
> > index:
> >
> >
> > f1 tst
> >
> > ┌──┬───────────────┐
> >
> > │10│1 1 1 1 0 1 │
> >
> > ├──┼───────────────┤
> >
> > │11│0 1 0 0 0 │
> >
> > ├──┼───────────────┤
> >
> > │12│0 1 0 1 1 1 0 0│
> >
> > └──┴───────────────┘
> >
> >
> > Or maybe this is better if it get rid if the fills.
> >
> >
> > f2 tst
> >
> > ┌──┬───────────┬──┬─────────┬──┬───────────────┐
> >
> > │10│1 1 1 1 0 1│11│0 1 0 0 0│12│0 1 0 1 1 1 0 0│
> >
> > └──┴───────────┴──┴─────────┴──┴───────────────┘
> >
> > However, I need to find a boolean string givem it's index: 11 fb f2 tst
> >
> >
> > ┌─────────┐
> >
> > │0 1 0 0 0│
> >
> > └─────────┘
> >
> > Skip
> > ----------------------------------------------------------------------
> > 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
>
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm