Averages/Median: Difference between revisions

Content deleted Content added
Underscore (talk | contribs)
m Alphabetized languages.
Tikkanz (talk | contribs)
→‎{{header|J}}: use library version
Line 313:
 
=={{header|J}}==
The verb <code>median</code> is available from the <code>stats/base</code> addon and returns the mean of the two middle values for an even number of elements:
 
<lang j>
The following implementation returns both values for lists with an even number of elements, if those two values are distinct.
require 'stats/base'
median 1 9 2 4
3
</lang>
The definition given in the addon script is:
<lang j>
medianmidpt=: ~.@(<. , >.)@-:@<:@# { /:~
median=: -:@(+/)@((<. , >.)@midpt { /:~)
</lang>
 
If, for an even number of elements, both values were desired when those two values are distinct, then the following implementation would suffice:
Another option is to calculate the mean of the two middle values, when two middle values occur.
<lang j>
median=: [: (+/ % #) ~.@(<. , >.)@-:@<:@#midpt { /:~
median 1 9 2 4
2 4
</lang>