Like Devon, "I have noticed some oddities," and have described my
variations at the following link.
https://code.jsoftware.com/wiki/User:Brian_Schott/Histogram

Below using spacing to emphasize similarities and differences in 3
definitions, I have tried to restate the definitions so that a
non proportional font will clarify the distinctions.

   histogram =: <: @ (#/.~) @ (i.   @#@[ , I.)
   histogram1=: <: @ (#/.~) @ (i.@>:@#@[ , I.)
   histogram2=: <: @ (#/.~) @ (i.@>:@#@[ , Idotr)
   Idotr =: |.@[ (#@[-I.) ]

It seems to me that *histogram1* adjusts for the issue mentioned
by Gilles, and *histogram2* further adjusts for the way statisticians
traditionally compute histograms with half closed intervals defined as
*[,)* instead of *(,]* .

Below the verbs are shown with Gilles' data. *histogram1* and
*histogram2* place the 0 in different intervals, but at least
*histogram1* counts all data.

   _5 0 5 histogram _2 _7 0 3 9
1 2 1 0
   _5 0 5 histogram1 _2 _7 0 3 9
1 2 1 1
   _5 0 5 histogram2 _2 _7 0 3 9
1 1 2 1


Btw, the text in the link mentioned above needed to be revised
to handle subscripts. Can anyone fix it even further in this regard?


-- 
(B=)
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm

Reply via email to