Beefy Boxes and Bandwidth Generously Provided by pair Networks
There's more than one way to do things
 
PerlMonks  

Re^2: Calculating statistical median

by jimbojones (Friar)
on Jul 13, 2005 at 15:35 UTC ( [id://474589]=note: print w/replies, xml ) Need Help??


in reply to Re: Calculating statistical median
in thread Calculating statistical median

Hi.

Is there a special reason for the array reference? Versus this?
sub mean { my $result; foreach (@_) { $result += $_ } return $result / @_; } my @points = qw(1 2 3 4); print mean @points;

Replies are listed 'Best First'.
Re^3: Calculating statistical median
by dirac (Beadle) on Jul 14, 2005 at 07:07 UTC
    Copying an array or hash into @_ takes time. Passing arrays and hashes by reference is straightforward.
    See Benchmark
    If you want median:
    sub median { $_[0]->[ @{$_[0]} / 2 ] } my @points = 0..100; print median(\@points), "\n";

      It should sort the array before calculating median this way. Besides that it does not handle the array with even elements correctly.

      This calculates median only if @points is already truly ordered.
      This sample has a bug: if input array is not sorted, the result is incorrect.
      $ cat median.pl sub median { $_[0]->[ @{$_[0]} / 2 ] } my @sample=(9, 1, 2, 3, 4, 8, 7, 6, 5); my @sorted; @sorted=sort @sample; print median(\@sample),"\n"; print median(\@sorted),"\n"; $ perl median.pl 4 5 $
      Should be
      5 5
      Hi

      Thanks. Didn't know about the speed issue.

      - j

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://474589]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others examining the Monastery: (5)
As of 2024-04-19 07:40 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found