The classic "insertion" method for J is to use {. for the part before
the insertion and }. for the part after the insertion.

An example of this might be:
   table =: 3 3 $  <"0 i.9
   column =: 3 1$ (<,'0')
   column ((2{."1]),.[,.2}."1]) table

But it also might be simpler to use transpose:
   column ((2{.]), [, 2}.])&.|: table

Another alternative uses # with a complex left argument (or #inv with
a zero in the left argument). I've seen some examples of that here, so
I won't post more of them.

Another alternative, though, involves tacking the column onto the end
of the table and then reordering:
   (<_2}.i._4) C."1 table,.column

(There are other ways of accomplishing the reordering, but I think
this is the clearest. The i._4 cycle rotates things in the direction
we want, and the _2 drops the two smallest indexes from the
permutation, and the net result is that the column moves to column
index 2 of the result.)

I expect that there could be other ways also, but this is all that
occur to me at the moment.

Thanks,

-- 
Raul


On Mon, Jul 20, 2015 at 8:11 AM, Strale <[email protected]> wrote:
> Hello
>
> I am trying to combine Tables togethers
>
> for example I would like to insert column before the column 2 of the table
>
>    [table =. 3 3 $  <"0 i.9
>
> ┌─┬─┬─┐
>
> │0│1│2│
>
> ├─┼─┼─┤
>
> │3│4│5│
>
> ├─┼─┼─┤
>
> │6│7│8│
>
> └─┴─┴─┘
>
>
>    [column =. 3 1$ (<,'0')
>
> ┌─┐
>
> │0│
>
> ├─┤
>
> │0│
>
> ├─┤
>
> │0│
>
> └─┘
>
>
>
> the solution I have found at the moment is the following:
>
>
>    [tab2 =. 2|."1  table
>
> ┌─┬─┬─┐
>
> │2│0│1│
>
> ├─┼─┼─┤
>
> │5│3│4│
>
> ├─┼─┼─┤
>
> │8│6│7│
>
> └─┴─┴─┘
>
>
>    [tab3 =. column ,"1 1    tab2
>
> ┌─┬─┬─┬─┐
>
> │0│2│0│1│
>
> ├─┼─┼─┼─┤
>
> │0│5│3│4│
>
> ├─┼─┼─┼─┤
>
> │0│8│6│7│
>
> └─┴─┴─┴─┘
>
>
> Result:
>
>    2|."1 tab3
>
> ┌─┬─┬─┬─┐
>
> │0│1│0│2│
>
> ├─┼─┼─┼─┤
>
> │3│4│0│5│
>
> ├─┼─┼─┼─┤
>
> │6│7│0│8│
>
> └─┴─┴─┴─┘
>
>
> Can you suggest me a better solution ?
>
> Thanks
>
> Paolo
> ----------------------------------------------------------------------
> For information about J forums see http://www.jsoftware.com/forums.htm
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm

Reply via email to