Fivenum: Difference between revisions

1,037 bytes added ,  3 years ago
No edit summary
Line 1,384:
];
</lang>
 
{{out}}
<pre>(6 25.5 40 42.5 49)
(7 15 37.5 40 41)
(-1.95059594 -0.676741205 0.23324706 0.746070945 1.73131507)</pre>
 
=={{header|Relation}}==
Min, median and max are built in, quarter1 and quarter3 calculated.
<lang Relation>
program fivenum(X)
rename X^ x
order x 1
dup
project x min, x median, x max, x count
set q1 = x_count / 4
set q1min = floor(q1)
set q1weight = q1 - q1min
set q3 = x_count * 3 / 4
set q3min = floor(q3)
set q3weight = q3 - q3min
swap
dup
select rownumber = q1min + 1 or rownumber = q1min + 2
extend w = q1weight * (rownumber - 1) - (rownumber-1-1) * (1-q1weight)
extend xw = x * w
project xw sum
rename xw_sum x_quarter1
swap
select rownumber = q3min + 1 or rownumber = q3min + 2
extend w = q3weight * (rownumber - 1) - (rownumber-1-1) * (1-q3weight)
extend xw = x * w
project xw sum
rename xw_sum x_quarter3
join cross
join cross
project x_min, x_quarter1, x_median, x_quarter3, x_max
print
end program
 
relation a
insert 3
insert 4
insert 18
insert 12
insert 17
insert 5
insert 6
insert 11
insert 8
run fivenum("a")
 
{{out}}
{|
|-
! x_min !! x_quarter1 !! x_median !! x_quarter3 !! x_max
|-
| 3 || 5.25 || 8 || 15.75 || 18
|}
 
=={{header|REXX}}==
Anonymous user