On 9/5/12, pascha <amirpasha...@gmail.com> wrote:
> I have a huge matrix (say n x m) and I want to drop the columns numbered
> with
> mutiple of 3 (i.e. 3th, 6th, 9th,..)
> how can I achieve that?

Roger already showed you a good way, but let me show some others.

Let me use this matrix as an example input.

   ]d =: (?.6 13$31){a.{~(5$45),97+i.26
-n-ejbshgulpx
efefbiplq-zv-
-stxea---bjt-
gup-q-nihzt-n
h--zlb-h-klmy
snfjtbeanjjya

First, a variant on Roger's solution: this still uses the (#"1) dyad
to do the actual work.

   (2>3|i.#{.d)#"1 d
-nejshulx
effbpl-z-
-sxe--bj-
gu-qniztn
h-zl-hkly
snjteajja

Secondly, let's use the infix adverb, as I like that adverb.  This
leads to some short code.

   ,._3}:\"1 d
-nejshul
effbpl-z
-sxe--bj
gu-qnizt
h-zl-hkl
snjteajj

Third, a fun but complicated way, using the cut conjunction.

   ,./ {. (0 3,:_ 2) ];.3 d
-nejshulx
effbpl-z-
-sxe--bj-
gu-qniztn
h-zl-hkly
snjteajja

Last, a horrible abomination so ugly that nobody in their right mind
would write it.

   (-1=3|#{.d)}."1 ,. _ _ 2{. (($,)~#,3,~3%~#@{.) (>.&.(%&3)#{. d) {."_1 d
-nejshulx
effbpl-z-
-sxe--bj-
gu-qniztn
h-zl-hkly
snjteajja


There's surely many other ways, but I'm stopping now.

Ambrus
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm

Reply via email to