Averages/Median: Difference between revisions
Content added Content deleted
m (added whitespace before the TOC, added a ;See also: (bold) header.) |
No edit summary |
||
Line 2,180: | Line 2,180: | ||
else /* an even number of elements */ |
else /* an even number of elements */ |
||
median = (a(n/2) + a(trunc(n/2)+1) )/2;</lang> |
median = (a(n/2) + a(trunc(n/2)+1) )/2;</lang> |
||
=={{header|PowerShell}}== |
|||
This function returns an object containing the minimal amount of statistical data, |
|||
including Median, and could be modified to take input directly from the pipeline. |
|||
All statistical properties could easily be added to the output object. |
|||
<lang PowerShell> |
|||
function Get-Statistic |
|||
{ |
|||
[CmdletBinding()] |
|||
[OutputType([double])] |
|||
Param |
|||
( |
|||
[Parameter(Mandatory=$true, Position=0)] |
|||
[ValidateNotNullOrEmpty()] |
|||
[double[]] |
|||
$Vector |
|||
) |
|||
$Vector = $Vector | Sort-Object |
|||
if ($Vector.Count % 2) |
|||
{ |
|||
$median = $Vector[[Math]::Floor($Vector.Count/2)] |
|||
} |
|||
else |
|||
{ |
|||
$median = ($Vector[$Vector.Count/2], $Vector[$Vector.Count/2-1] | Measure-Object -Average).Average |
|||
} |
|||
$Vector | |
|||
Measure-Object -Minimum -Maximum -Sum -Average | |
|||
Select-Object -Property Count, Minimum, Maximum, Sum, Average | |
|||
Add-Member -MemberType NoteProperty -Name Median -Value $median -PassThru |
|||
} |
|||
</lang> |
|||
<lang PowerShell> |
|||
Get-Statistic -Vector 5.1, 2.6, 6.4, 8.8, 4.6, 4.1 |
|||
</lang> |
|||
{{Out}} |
|||
<pre> |
|||
Count : 6 |
|||
Minimum : 2.6 |
|||
Maximum : 8.8 |
|||
Sum : 31.6 |
|||
Average : 5.26666666666667 |
|||
Median : 4.85 |
|||
</pre> |
|||
Get the median only |
|||
<lang PowerShell> |
|||
(Get-Statistic -Vector 5.1, 2.6, 6.4, 8.8, 4.6, 4.1).Median |
|||
</lang> |
|||
{{Out}} |
|||
<pre> |
|||
4.85 |
|||
</pre> |
|||
A list with an odd number of values: |
|||
<lang PowerShell> |
|||
(Get-Statistic -Vector 5.1, 2.6, 8.8, 4.6, 4.1).Median |
|||
</lang> |
|||
{{Out}} |
|||
<pre> |
|||
4.6 |
|||
</pre> |
|||
=={{header|Prolog}}== |
=={{header|Prolog}}== |