This is a large update. Three big changes:
Rcpp
to cpp11
for the backend. This removes a runtime dependency on Rcpp
,
but adds one on C++11
and adds a compile time dependency on
cpp11
.Together, all this lead to many changes under the hood. As a
consequence, permutation_test_builder
is substantially
different (and no longer exported), and order_stl
no longer
exists.
Each run of a *_test function now only sorts the data one time. Denoting the joint sample size N and the number of bootstraps K, this update moves the code from \[O(KN\log(N))\] to \[O(KN)+O(N \log(N))\].
_stat
functions as well as the permutation_test_builder
.
*_stat
that are syntactically identical to
the old ones still exist, but are no longer what is used by
permutation_test_builder
.There is now a ‘twosamples’ class, and generics for
print
, summary
, and plot
, as well
as a function for combining outputs correctly. This should make the
printed behavior much better. As well as making it easy to see a fair
bit of information using summary.
*_test
functions export the
bootstrap values. If you have memory intensive applications, this can be
turned off with a toggle keep.boots
, at the cost of no
longer being able to use the plotting.keep.samples
toggle which is turned off by default.order_stl
no longer exists. I do not believe anybody
used this function outside its internal package use.permutation_test_builder
is no longer exported. I am
not aware of anyone using this function outside its internal package
use. A similar function is still available, but will require changing
the syntax of functions for its inputs.Rcpp
to cpp11
and
an additional system requirement of C++11
.This version is primarily bug fixes and documentation updates. These bug fixes may affect outputs users see.
I expect this update to be purely cosmetic for the vast majority of
users. - For a few users of ad_test
or
cvm_test
it is possible that re-running code will make
significant differences to conclusions. - For the rare users of
ad_test
or dts_test
(aka
two_sample
) who relied on the scale of the test stat
(rather than merely the p-value), this update will change outputs
substantially. In principal this change is merely re-scaling everything
by \((n^p)/(2^{p/2})\).
ad_stat
and
cvm_stat
treated duplicates. This bug lead to excessive
power in some situations. Re-running code, p-values and test stats may
change.ad_stat
and
dts_stat
calculated standard deviations. Re-running code
this will change the scale/location of the test stat, but should not
affect p-values.if (sd >0)
.ad_stat
and dts_stat
– in which a square root term was droppedThis update is only fixing up documentation. Fixes a bug that lead to poor formatting, improves formatting of equations, adds graphs for test statistics, adds links between help pages. See v1.1.0 for recent improvements to codebase.
This update is primarily fixing a bug which meant that the test stat sorting routine was O(N^2), not O(Nlog(N)).
The package has been released. The package includes test statistic functions (written in C++) for the following two-sample distance measures:
Each test statistic also has a corresponding permutation test function.
In addition there are two functions: