Statistics modules in Perl Data Language, with a quick-start guide for non-PDL people. They make the PDL shell work like R, but with PDL broadcasting (fast automatic iteration) of procedures including t-test, linear regression, and k-means clustering.
As reported in Debian Bug #1003514, PDL-Stats fails to build with PDL 2.066:
make[2]: Leaving directory '/build/libpdl-stats-perl-0.80/TS'
PERL_DL_NONLAZY=1 "/usr/bin/perl" "-MExtUtils::Command::MM" "-MTest::Harness" "-e" "undef *Test::Harness::Switches; test_harness(1, 'blib/lib', 'blib/arch')" t/*.t
#
# Versions for all modules listed in MYMETA.json (including optional ones):
#
# === Configure Requires ===
#
# Module Want Have Where Howbig
# --------- ----- ----- ------------------------------------ ------
# PDL::Core 2.008 2.028 /usr/lib/x86_64-linux-gnu/perl5/5.32 104076
#
# === Build Requires ===
#
# Module Want Have Where Howbig
# --------- ----- ----- ------------------------------------ ------
# PDL::Core 2.008 2.028 /usr/lib/x86_64-linux-gnu/perl5/5.32 104076
#
# === Test Requires ===
#
# Module Want Have Where Howbig
# ---------- ----- -------- ------------------------------------ ------
# PDL::Core 2.008 2.028 /usr/lib/x86_64-linux-gnu/perl5/5.32 104076
# Test::More any 1.302175 /usr/share/perl/5.32 52697
#
# === Runtime Requires ===
#
# Module Want Have Where Howbig
# ------ ----- ----- ------------------------------------ ------
# PDL 2.057 2.066 /usr/lib/x86_64-linux-gnu/perl5/5.32 6190
#
# === Runtime Recommends ===
#
# Module Want Have Where Howbig
# --------------------- ---- ----- ------------------------------------ ------
# PDL::Graphics::PGPLOT any undef /usr/lib/x86_64-linux-gnu/perl5/5.32 15940
# PDL::Slatec any undef /usr/lib/x86_64-linux-gnu/perl5/5.32 34127
#
t/00-report-prereqs.t ..
1..1
ok 1
ok
t/stats_basic.t ........
ok 1 - standard deviation of [0 1 2 3 4]
ok 2 - unbiased standard deviation of [0 1 2 3 4]
ok 3 - variance of [0 1 2 3 4]
ok 4 - unbiased variance of [0 1 2 3 4]
ok 5 - standard error of [0 1 2 3 4]
ok 6 - sum of squared deviations from the mean of [0 1 2 3 4]
ok 7 - sample skewness of [0 1 2 3 4]
ok 8 - unbiased sample skewness of [0 1 2 3 4]
ok 9 - sample kurtosis of [0 1 2 3 4]
ok 10 - unbiased sample kurtosis of [0 1 2 3 4]
ok 11 - ss for [1 1 1 1 2 3 4 4 4 4 4 4]
ok 12 - ss for [1 2 2 2 3 3 3 3 4 4 5 5]
ok 13 - ss for [1 1 1 2 2 3 3 4 4 5 5 5]
ok 14 - standard deviation of [0 1 2 3 4 BAD]
ok 15 - unbiased standard deviation of [0 1 2 3 4 BAD]
ok 16 - variance of [0 1 2 3 4 BAD]
ok 17 - unbiased variance of [0 1 2 3 4 BAD]
ok 18 - standard error of [0 1 2 3 4 BAD]
ok 19 - sum of squared deviations from the mean of [0 1 2 3 4 BAD]
ok 20 - sample skewness of [0 1 2 3 4 BAD]
ok 21 - unbiased sample skewness of [0 1 2 3 4 BAD]
ok 22 - sample kurtosis of [0 1 2 3 4 BAD]
ok 23 - unbiased sample kurtosis of [0 1 2 3 4 BAD]
ok 24 - sample covariance of [0 1 2 3 4] and [0 0 0 1 1]
ok 25 - Pearson correlation coefficient of [0 1 2 3 4] and [0 0 0 1 1]
ok 26 - Number of good pairs between [0 1 2 3 4] and [0 0 0 1 1]
ok 27 - t significance test of Pearson correlation coefficient of [0 1 2 3 4] and [0 0 0 1 1]
ok 28 - correlation calculated from dev_m values of [0 1 2 3 4] and [0 0 0 1 1]
ok 29 - sample covariance with bad data of [0 1 2 3 4 BAD] and [BAD 0 0 1 1 1]
ok 30 - Pearson correlation coefficient with bad data of [0 1 2 3 4 BAD] and [BAD 0 0 1 1 1]
ok 31 - Number of good pairs between [0 1 2 3 4 BAD] and [BAD 0 0 1 1 1] with bad values taken into account
ok 32 - t signifiance test of Pearson correlation coefficient with bad data of [0 1 2 3 4 BAD] and [BAD 0 0 1 1 1]
ok 33 - correlation calculated from dev_m values with bad data of [0 1 2 3 4 BAD] and [BAD 0 0 1 1 1]
ok 34 - t-test between [0 1 2 3 4] and [0 0 0 1 1] - 't' output
ok 35 - t-test between [0 1 2 3 4] and [0 0 0 1 1] - 'df' output
ok 36 - t-test with non-equal variance between [0 1 2 3 4] and [0 0 0 1 1] - 't' output
ok 37 - t-test with non-equal variance between [0 1 2 3 4] and [0 0 0 1 1] - 'df' output
ok 38 - paired sample t-test between [0 1 2 3 4] and [0 0 0 1 1] - 't' output
ok 39 - paired sample t-test between [0 1 2 3 4] and [0 0 0 1 1] - 'df' output
ok 40 - t-test with bad values between [0 1 2 3 4 BAD] and [BAD 0 0 1 1 1] - 't' output
ok 41 - t-test with bad values between [0 1 2 3 4 BAD] and [BAD 0 0 1 1 1] - 'd' output
ok 42 - t-test with non-equal variance with bad values between [0 1 2 3 4 BAD] and [BAD 0 0 1 1 1] - 't' output
ok 43 - t-test with non-equal variance with bad values between [0 1 2 3 4 BAD] and [BAD 0 0 1 1 1] - 'df' output
ok 44 - paired sample t-test with bad values between [0 1 2 3 4 BAD] and [BAD 0 0 1 1 1] - 't' output
ok 45 - paired sample t-test with bad values between [0 1 2 3 4 BAD] and [BAD 0 0 1 1 1] - 'df' output
ok 46 - rtable data dim
ok 47 - rtable bad elem
ok 48 - cov_table
ok 49 - cov_table bad val
ok 50 - Square Pearson correlation table
ok 51 - Square Pearson correlation table with bad data
ok 52 - Bad value input to stdv makes the stdv itself bad
ok 53 - binomial_test
ok 54 - group_by single factor equal n
ok 55 - group_by single factor label
ok 56 - group_by single factor unequal n
ok 57 - group_by multiple factors
ok 58 - group_by multiple factors label
ok 59 - _array_to_pdl
ok 60 - _array_to_pdl with missing value undef
ok 61 - _array_to_pdl with missing value undef correctly coded
ok 62 - _array_to_pdl with missing value BAD
ok 63 - _array_to_pdl with missing value BAD correctly coded
1..63
ok
# Failed test 'use PDL::Stats::GLM;'
# at t/stats_glm.t line 9.
# Tried to use 'PDL::Stats::GLM'.
# Error: syntax error at kmeans.pd line 446, near "$a("
# syntax error at kmeans.pd line 447, near "$a("
# syntax error at kmeans.pd line 449, near "$a( "
# Compilation failed in require at glm.pd line 13.
# BEGIN failed--compilation aborted at glm.pd line 13.
# Compilation failed in require at t/stats_glm.t line 9.
# BEGIN failed--compilation aborted at t/stats_glm.t line 9.
Can't locate object method "fill_m" via package "PDL" at t/stats_glm.t line 36.
# Tests were run but no plan was declared and done_testing() was not seen.
# Looks like your test exited with 2 just after 2.
t/stats_glm.t ..........
ok 1 - use PDL::Stats::Basic;
not ok 2 - use PDL::Stats::GLM;
Dubious, test returned 2 (wstat 512, 0x200)
Failed 1/2 subtests
# Failed test 'use PDL::Stats::Kmeans;'
# at t/stats_kmeans.t line 9.
# Tried to use 'PDL::Stats::Kmeans'.
# Error: syntax error at kmeans.pd line 446, near "$a("
# syntax error at kmeans.pd line 447, near "$a("
# syntax error at kmeans.pd line 449, near "$a( "
# Compilation failed in require at t/stats_kmeans.t line 9.
# BEGIN failed--compilation aborted at t/stats_kmeans.t line 9.
Undefined subroutine &main::iv_cluster called at t/stats_kmeans.t line 27.
# Tests were run but no plan was declared and done_testing() was not seen.
# Looks like your test exited with 255 just after 2.
t/stats_kmeans.t .......
ok 1 - use PDL::Stats::Basic;
not ok 2 - use PDL::Stats::Kmeans;
Dubious, test returned 255 (wstat 65280, 0xff00)
Failed 1/2 subtests
syntax error at kmeans.pd line 446, near "$a("
syntax error at kmeans.pd line 447, near "$a("
syntax error at kmeans.pd line 449, near "$a( "
Compilation failed in require at glm.pd line 13.
BEGIN failed--compilation aborted at glm.pd line 13.
Compilation failed in require at (eval 16) line 3.
BEGIN failed--compilation aborted at (eval 16) line 3.
BEGIN failed--compilation aborted at t/stats_ols_rptd.t line 7.
t/stats_ols_rptd.t .....
Dubious, test returned 255 (wstat 65280, 0xff00)
No subtests run
# Failed test 'use PDL::Stats::TS;'
# at t/stats_ts.t line 9.
# Tried to use 'PDL::Stats::TS'.
# Error: syntax error at kmeans.pd line 446, near "$a("
# syntax error at kmeans.pd line 447, near "$a("
# syntax error at kmeans.pd line 449, near "$a( "
# Compilation failed in require at ts.pd line 29.
# BEGIN failed--compilation aborted at ts.pd line 29.
# Compilation failed in require at t/stats_ts.t line 9.
# BEGIN failed--compilation aborted at t/stats_ts.t line 9.
Can't locate object method "acvf" via package "PDL" at t/stats_ts.t line 27.
# Looks like your test exited with 255 just after 1.
t/stats_ts.t ...........
1..23
not ok 1 - use PDL::Stats::TS;
Dubious, test returned 255 (wstat 65280, 0xff00)
Failed 23/23 subtests
Test Summary Report
-------------------
t/stats_glm.t (Wstat: 512 Tests: 2 Failed: 1)
Failed test: 2
Non-zero exit status: 2
Parse errors: No plan found in TAP output
t/stats_kmeans.t (Wstat: 65280 Tests: 2 Failed: 1)
Failed test: 2
Non-zero exit status: 255
Parse errors: No plan found in TAP output
t/stats_ols_rptd.t (Wstat: 65280 Tests: 0 Failed: 0)
Non-zero exit status: 255
Parse errors: No plan found in TAP output
t/stats_ts.t (Wstat: 65280 Tests: 1 Failed: 1)
Failed test: 1
Non-zero exit status: 255
Parse errors: Bad plan. You planned 23 tests but ran 1.
Files=6, Tests=69, 17 wallclock secs ( 0.03 usr 0.02 sys + 16.64 cusr 0.13 csys = 16.82 CPU)
Result: FAIL
Failed 4/6 test programs. 3/69 subtests failed.
make[1]: *** [Makefile:944: test_dynamic] Error 255
make[1]: Leaving directory '/build/libpdl-stats-perl-0.80'
As reported in Debian Bug #1003514, PDL-Stats fails to build with PDL 2.066:
Full buildlog
CC: @mohawk2