Elijah's reply offers lots of ideas, with thoughts about filling histogram results. However, this might also be of interest:
xs NB. a small example 1 2 4 6 7 4 6 3 8 5 expand NB. I think this is included in J at startup #^:_1 expxs =: {{ix,:y expand~x e.~ix=. >:i. {:x}}/ expxs xs 1 2 3 4 5 6 7 4 6 0 3 0 8 5 This follows your apparent requirement to use origin 1. It would need refining if you wished the expanded x to start with {.x rather than 1 . Cheers, Mike Sent from my iPad > On 24 Jul 2023, at 03:03, Fr. Daniel Gregoire <daniel.l.grego...@gmail.com> > wrote: > > Hi! > > (Apologies if this is a double-post, I believe I sent it before I was > officially on the mailing list, and I don't see it in the archives). > > Given: > > |:xs > > 1 23 > 2 4 > 3 5 > 4 10 > 5 397 > 6 3 > 7 190 > 8 44 > 9 4 > 10 5 > 11 13 > 12 1011 > 13 10 > 14 1119 > 15 72 > 16 1 > 17 1 > 19 6 > 21 3 > 22 2 > 23 1 > 26 2 > 28 2 > 29 2 > 30 1 > 31 2 > > > I'd like $xs to be 2 31 but you can see that 18, 20, 24, 25, and 27 > are "missing". > > > I'd like to "fill the holes" so the first row of xs is all the > integers 1 through 31 sequentially, and to put corresponding zeros in > the second row where I've filled the holes in the first. > > > My thoughts have centered around using (1+i.31),.31#0 to have a 2 by > 31 array with all zeros in the second row, and then shifting my > original to find the non-sequential parts with something like: > > > (1|.{.xs) - {.xs > > > But then I'm struggling to reason about a non-loopy way to put it all > together. Any help is greatly appreciated. > > > Kind regards, > > Daniel > ---------------------------------------------------------------------- > For information about J forums see http://www.jsoftware.com/forums.htm ---------------------------------------------------------------------- For information about J forums see http://www.jsoftware.com/forums.htm