Chi-Square and Exact Tests for Non-Parametric Functional
Statistical hypothesis testing methods for non-parametric
functional dependencies using asymptotic chi-square or exact statistics. These
tests reveal evidence for causality based on the causality-by-functionality
principle. They include asymptotic functional chi-square tests, an exact
functional test, a comparative functional chi-square test, and also a
comparative chi-square test. The normalized non-constant functional chi-square
test was used by Best Performer NMSUSongLab in HPN-DREAM (DREAM8) Breast
Cancer Network Inference Challenges. For continuous data, these tests offer an
advantage over regression analysis when a parametric functional form cannot be
assumed; for categorical data, they provide a novel means to assess directional
dependencies not possible with symmetrical Pearson's chi-square or Fisher's
- Updated the vignettes
- Updated the reference section to fix the year of Pearson's chi-square test
paper which was published in 1900 not 1990.
- Now check all options for the method argument so that only valid
methods are allowed.
- Expanded test.interactions() to test many-to-one combinatorial
interactions in C++ via Rcpp.
Version 2.3.0 (not deposited to CRAN)
- Data frame input is now converted to numeric matrix before exact
- Added function test.interactions() to test pairwise (one-to-one)
interactions, implemented in C++ via Rcpp for computational efficiency.
- Added vignette "Which statistic to use for functional dependency
- Updated references and description.
- Use [[Rcpp::export]] to automatically generate R interface.
- Revised the code to remove dependency on RcppClassic.
- Revised help documentation and included new references.
- Handled a special case for the normalized FunChisq when the degrees of
freedom are zero.
- Renamed the "type" argument to "alternative" in fun.chisq.test().
- Revised values of the "method" argument in fun.chisq.test(). Previous
values ("default" and "normalized") are still supported but obsolete.
- Added the "log.p" argument in both cp.fun.chisq.test() and cp.chisq.test().
- Updated the documentation.
- Added a new argument "index.kind" to fun.chisq.test() to specify
the function index kind: "unconditional" or "conditional" on a given
marginal of Y.
- Fixed a bug in cp.chisq.test().
- Fixed a bug introduced in the previous version.
- Updated package description to be more reflective of recent additions.
- Included missing references.
- Improved code efficiency for fun.chisq.test().
- Now fun.chisq.test() returns an estimate of function index between
0 and 1, in analogy to Cramer's V, but asymmetrical.
- Added additional test examples for fun.chisq.test().
- Added type argument to fun.chisq.test() to specify functional or
non-constant functional chi-squares.
- Added log.p argument to fun.chisq.test() to obtain log of p-value
to improve accuracy when sample size is large and p-value is close
2015-07-03 (Unpublished version 2.1.1 )
- Added cp.chisq.test() for comparative chi-square test, not considering
- Added test examples for cp.chisq.test().
Version 2.1.0 2015-06-29
- Substantially reduced the run time of exact functional test by designing a
better branch and bound strategy.
- Enabled C++11 compling by adding two files (Makevars and Makevars.win).
- Fixed a bug occured under WIN32 using long double by adding define.h to
specify double precision for WIN32 and long double precision for WIN64.
- Increased float comparison precision by considering a tolerance.
- Imported pnorm() and pchisq() from the "stats" package.
Version 2.0.2 2015-03-03
- Updated documentation for the package and its functions.
- Fixed a testing issue under r-release-linux-ix86 flavor.
Version 2.0.1 2015-02-23
- Removed assert() function from StatDistribution.cpp.
- Removed Makevar and Makevar.win files.
- Removed all iostream and sstream and cassert.
- Removed TransitionTableIO.cpp.
- In the testthat examples, signif(x,8) is used to compare 8 significant
digits of the results.
- Added a normalized functional chi-square test example.
Version 2.0.0 2015-02-12
- Added a new exact functional test as a method option to fun.chisq.test().
The exact functional test is an exact version of FunChisq test, it is
more precise to detect functional dependencies in small sample-sized
- Added a new comparative functional chi-square test for detecting
heterogeneity in functional dependencies among contingency tables.
- Revised the examples and documentation to improve usability.
- Added automated test cases into the package.
- Started the NEWS file.
Version 1.0 2014-03-08
- The first release of this package implements the functional chi-square
test and a normalized version.