Selection bias in clinical sciences: Difference between revisions

Content added Content deleted
(Added Perl)
m (→‎{{header|Perl}}: use 'sum0' instead)
Line 203: Line 203:
{{trans|Raku}}
{{trans|Raku}}
<syntaxhighlight lang="perl" line>use v5.036;
<syntaxhighlight lang="perl" line>use v5.036;
use List::AllUtils <sum indexes firstidx>;
use List::AllUtils <sum0 indexes firstidx>;
use enum qw<False True UNTREATED REGULAR IRREGULAR>;
use enum qw<False True UNTREATED REGULAR IRREGULAR>;
use constant DOSE_FOR_REGULAR => 100;
use constant DOSE_FOR_REGULAR => 100;
Line 243: Line 243:
}
}


my $H = sum map { my $s = $sr[$_]; $s**2 / @{$sets[$_]} } 0..$#sr;
my $H = sum0 map { my $s = $sr[$_]; $s**2 / @{$sets[$_]} } 0..$#sr;
12/($n*($n+1)) * $H - 3 * ($n + 1)
12/($n*($n+1)) * $H - 3 * ($n + 1)
}
}
Line 258: Line 258:
@sirr = @hadcovid[ indexes { $_ == IRREGULAR } @category];
@sirr = @hadcovid[ indexes { $_ == IRREGULAR } @category];
@sreg = @hadcovid[ indexes { $_ == REGULAR } @category];
@sreg = @hadcovid[ indexes { $_ == REGULAR } @category];
( $unt, $irr, $reg) = (scalar(@sunt), scalar(@sirr), scalar(@sreg) );
( $unt, $irr, $reg) = (scalar(@sunt), scalar(@sirr), scalar(@sreg));
($hunt,$hirr,$hreg) = ( sum(@sunt), sum(@sirr), sum(@sreg) // 0);
($hunt,$hirr,$hreg) = ( sum0(@sunt), sum0(@sirr), sum0(@sreg));
}
}