Notice my specification had (q:) "outside".  Ric's brilliant solution meets
my specification.  --Kip

On Tuesday, July 5, 2016, Martin Kreuzer <i...@airkreuzer.com> wrote:

> Bill - Thanks; that's quite a shortcut -- my negligence: wasn't aware (q:)
> had also a dyadic use ...
>
> The closest I could get toward that verb would now be
>
>    red=. [: ^/ __ & q:
>    red 4200
> 8 3 25 7
>
> (didn't manage to keep (q:) "outside" ...)
>
> -M
>
> At 2016-07-05 11:10, you wrote:
>
> q: in ^/__ q:4200  is dyad
>> executed  as
>>   ^/ ( __ q: 4200 )
>>
>>
>> Ð’Ñ‚, 05 июл 2016, Martin Kreuzer Ð½Ð°Ð¿Ð¸Ñ Ð°Ð»(а):
>> > Please be patient while I elaborate;
>> >
>> > Ric -
>> > -----
>> > Looking at your solution, I first read up on "Key" (x u /.. y) and came
>> up
>> > with this example:
>> >
>> >    2 3 2 3 3 (2&|)/. 9 5 7 6 4
>> > 1 1 0
>> > 1 0 0
>> >
>> > which I interpreted as
>> > * group the list on the left (2 2) (3 3 3), then
>> > * partition the list on the right accordingly (9 7) (5 6 4), then
>> > * apply decision between odd (1) and even (0) to the two partitions;
>> > (the zero in the first row is patched).
>> >
>> > I then did 'group' and 'tally' on a vector (along an example borrowed
>> from
>> > NuVoc page)
>> >
>> >    ]a=. 7 9 8 7 8 7
>> > 7 9 8 7 8 7
>> >    (a # /. a)
>> > 3 1 2
>> >    (~. a) ,:(a # /. a)
>> > 7 9 8
>> > 3 1 2
>> >
>> > to show the frequency of each item.
>> >
>> > Replacing 'tally' by 'multiply' and extracting (a)
>> >
>> >    (a */ /. a)
>> > 343 9 64
>> >    (*/ /.~) a
>> > 343 9 64
>> >
>> > I arrived the sought verb
>> >
>> >    red=. */ /.~
>> >    red q: 4200
>> > 8 3 25 7
>> >    ] v=. q: 4200
>> > 2 2 2 3 5 5 7
>> >    red v
>> > 8 3 25 7
>> >
>> > Don -
>> > -----
>> > Looking at your solution, I first tried to put it ( in my naive way)
>> into a
>> > verb like
>> >
>> >    red=. ^/__
>> >    red q: 4200
>> > 2 3 5 7
>> > 3 1 2 1
>> >    red v
>> > |syntax error
>> > |       red v
>> >
>> > The first result looked similar to the above frequency table, which
>> inspired
>> > me to follow this path:
>> >
>> >    reduc=. 13 : '^/ (~.y) ,:(y#/.y)'
>> >    reduc v
>> > 8 3 25 7
>> >    reduc q:4200
>> > 8 3 25 7
>> >    reduc=. [: ^/ ~. ,: # /.~
>> >    reduc q: 4200
>> > 8 3 25 7
>> >    reduc v
>> > 8 3 25 7
>> >
>> > This gives the correct answer but is way from  what you suggested ...
>> > Would you kindly explain how you arrived at your code..?
>> >
>> > Thanks
>> > -M
>> >
>> > At 2016-07-04 21:50, you wrote:
>> >
>> > >    ^/__ q:4200
>> > >
>> > > 8 3 25 7
>> > >
>> > > On Mon, Jul 4, 2016 at 3:48 PM, Ric Sherlock <tikk...@gmail.com>
>> wrote:
>> > >
>> > > > How's this?
>> > > >    *//.~ q: 4200
>> > > > 8 3 25 7
>> > >
>> > > > On Tue, Jul 5, 2016 at 9:46 AM, Kip Murray <thekipmur...@gmail.com>
>> wrote:
>> > >
>> > > > > Consider
>> > > > >
>> > > > >     q: 4200
>> > > > >  2 2 2 3 5 5 7
>> > > > >
>> > > > > How would you "reduce" this to  8 3 25 7  ?
>> > > > > Write the verb red:
>> > > > >
>> > > > >     red q: 4200
>> > > > >  8 3 25 7
>> > > > >
>> > > > > --Kip Murray
>> > > > >
>> > > > >
>> > > > >
>> > > > > --
>> > > > > Sent from Gmail Mobile
>> > > > >
>> ----------------------------------------------------------------------
>> > > > > 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
>>
>> --
>> regards,
>> ====================================================
>> GPG key 1024D/4434BAB3 2008-08-24
>> gpg --keyserver subkeys.pgp.net --recv-keys 4434BAB3
>> gpg --keyserver subkeys.pgp.net --armor --export 4434BAB3
>> ----------------------------------------------------------------------
>> For information about J forums see http://www.jsoftware.com/forums.htm
>>
>
> ----------------------------------------------------------------------
> For information about J forums see http://www.jsoftware.com/forums.htm



-- 
Sent from Gmail Mobile
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm

Reply via email to