Not at all. I often transpose but in this case the table has less than 1000 rows so it's not a large amount of data.
Sent from my iPhone > On Oct 6, 2015, at 5:14 PM, Raul Miller <[email protected]> wrote: > > Rather than using a rank 1 operation, I'd prefer to use a > column-at-a-time approach (in other words: transpose the table before > working on it). > > I think that performance should be better, and the expressions are > easier (in my opinion) to create. > > Ndx=: 3 :0"0 > {. y&{::`'' > ) > > ColNdxs=: 3 :0 > #('`',y)=: Ndx i.#;:y > ) > > ColNdxs 'A B C D E F G H I J K L M N O P Q' > 17 > > (((A * B) + C) - ((F - G) * (Q + B))) |:i.5 17 > 19 376 1311 2824 4915 > > Does this approach create problems for you? > > Thanks, > > -- > Raul > > >> On Tue, Oct 6, 2015 at 2:16 PM, John Baker <[email protected]> wrote: >> The other day I was converting spreadsheet formulas that applied between >> columns to J operations on numeric tables. >> >> One such formula was: >> >> ((I - E) + R) - D >> >> Where the verbs -,+ work on columns. To convert this to a simple J >> expression you can "Iversonize". >> >> D -~ R + E -~ I >> >> which leads directly to the nice little verb (cops): >> >> cops=: -~`+`(-~)`:3"1 >> >> That will do all the operations on each row in one swoop. >> >> The question arises. Given an arbitrary parenthesized formula with only >> dyadic verbs as text: >> >> '((A * B) + C) - ((F - G) * (Q + B))' >> >> Return the Iversonized gerund expression and the column permutation needed >> to get an expression like (cops). >> >> I've been doing this by hand but if anyone cares to dig into this and crank >> out a solution if would help many of us that are punished by spreadsheets. >> >> -- >> John D. Baker >> [email protected] >> ---------------------------------------------------------------------- >> 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
