<div dir="ltr"><div><br></div><div><b>NCL</b>: As noted by DaveA. The following may be usefu<b>l</b> <br></div><div><a href="http://www.ncl.ucar.edu/Document/Functions/Contributed/pdfx.shtml"><b>pdfx</b></a><b>    </b></div><div><a href="http://www.ncl.ucar.edu/Applications/pdf.shtml"><b>http://www.ncl.ucar.edu/Applications/pdf.shtml</b></a></div><div><a href="http://www.ncl.ucar.edu/Applications/histo.shtml"><b>http://www.ncl.ucar.edu/Applications/histo.shtml</b></a></div><div><b>-------</b></div><div><b></b><br></div><div>re: "<b>Discrete distributions (counts, etc.)</b>" <br></div><div><div>Note: <br></div><div>[1] There can be multiple modes in a distribution. See attached test script.</div><div>[2] It could be that each value is distinct. No repeat values. EG: random numbers. </div><div><br></div></div><div>I had a <b>get_mode </b>function. I updated it [significantly] and used DaveA's descriptor "discrete" in the function name.</div><div>It was renamed to <b>get_discrete_mode</b>. This emphasizes that the internal functions work on discrete values.<br></div><div>It handles discrete values like integers. <br></div><div>It forces 'grouping' of float/double array into discrete values using the<a href="http://www.ncl.ucar.edu/Document/Functions/Built-in/round.shtml"><b> round </b></a>function</div><div><br></div><div>; It groups values +/- of value<br>; eg: 82.5 ==> round(82.5,0) ==> 83.0<br>; eg: 83.4 ==> round(83.4,0) ==> 83.0<br>; eg: 82.4 ==> round(82.4,0) ==> 82.0<br>; eg: 81.5 ==> round(81.5,0) ==> 82.0</div><div><br></div><div>This may/may-not be appropriate. As I recall, this is what was desired in the original use case.</div><div><br></div><div>---</div><div>%> ncl tst.get_discrete_mode.ncl | less</div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Tue, Dec 3, 2019 at 6:07 PM Dave Allured - NOAA Affiliate via ncl-talk <<a href="mailto:ncl-talk@ucar.edu">ncl-talk@ucar.edu</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div>If your data are considered to be a continuous distribution, then compute the probability density function with NCL's pdfx function.  Then maxind() gives the position of the largest bin (i.e. highest density), which contains the mode.  You may need to adjust the number of bins to get the desired precision.</div><div><br></div><div>See NCL examples pdf_1 and pdf_2 to get the general idea of PDF's.  Also refer to this Wikipedia page on mode:</div><div><a href="https://en.wikipedia.org/wiki/Mode_(statistics)" target="_blank">https://en.wikipedia.org/wiki/Mode_(statistics)</a></div><div><br></div><div>Discrete distributions (counts, etc.) must be handled a little differently.</div><div dir="ltr"><br></div><div dir="ltr"><br></div><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Tue, Dec 3, 2019 at 11:55 AM Lesley Smith - NOAA Affiliate via ncl-talk <<a href="mailto:ncl-talk@ucar.edu" target="_blank">ncl-talk@ucar.edu</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr">Greetings NCL folks!<div>Is there a way to compute the mode (most frequent value) of</div><div>data using NCL?<br>I'm not seeing anything...</div><div>Thanks so much!</div><div>Cheers,</div><div>-Lesley</div></div></blockquote></div></div></div></div>
_______________________________________________<br>
ncl-talk mailing list<br>
<a href="mailto:ncl-talk@ucar.edu" target="_blank">ncl-talk@ucar.edu</a><br>
List instructions, subscriber options, unsubscribe:<br>
<a href="http://mailman.ucar.edu/mailman/listinfo/ncl-talk" rel="noreferrer" target="_blank">http://mailman.ucar.edu/mailman/listinfo/ncl-talk</a></blockquote></div>