Changelog
Source:NEWS.md
HOIF (development version)
-
hoif_ate()andcompute_hoif_estimators()now fail early with a clear, correctly-namespaced message when the Python backend is not configured: they point toustats::setup_ustats()/ustats::check_ustats_setup()(which are not on the search path afterlibrary(HOIF)alone) and to thepure_R_code = TRUEfallback. Previously the error came fromustats::ustat()and suggested an unqualifiedsetup_ustats(), which is not callable without attaching ‘ustats’. - DESCRIPTION now also cites Robins et al. (2017) doi:10.1214/16-AOS1515 (“Minimax estimation of a functional on a structured high-dimensional model”), matching the four foundational HOIF references listed in the README and vignette.
HOIF 0.2.0
First CRAN release (accepted 2026-06-19).
Adaptation to ustats (>= 0.1.5)
- The Python dependencies (u-stats, numpy, torch) of the ‘ustats’ backend are now provisioned automatically on first use (via reticulate >= 1.41 and
reticulate::py_require()declared by ‘ustats’), so most users need no manual setup. The installation documentation (README, vignette) was rewritten accordingly, covering the three setup paths: automatic,ustats::setup_ustats()(CPU-only PyTorch by default,gpu = TRUEfor CUDA), and bring-your-own-environment. -
hoif_ate()andcompute_hoif_estimators()gain adtypeargument (“float32”/“float64”, defaultNULL= automatic) that is passed through toustats::ustat()to control the numeric precision of the Python backend. - The
Remotes:field and the package-levelConfig/reticulateblock were removed: ‘ustats’ is now obtained from CRAN and declares its own Python requirements.
Bug fixes
-
transform_covariates()no longer fails with “object ‘k’ not found” formethod = "splines"andmethod = "fourier"(the basis dimension argument was renamed tobasis_dimwithout updating the function body). It now also validatesbasis_dimand gives an informative error when it is missing or too small. - The Moore-Penrose fallback in
compute_gram_inverse()now checks that ‘MASS’ is installed (it is a suggested package) and gives an informative error if not. -
print.hoif_ate()returns its argument invisibly, as is customary for print methods.
Documentation
- All exported functions now have executable examples; examples and tests that need Python are guarded so that the package can be checked without a Python runtime (the pure R backend is exercised instead).
- Added a
tests/testthat.Rrunner (previously the test suite was not run byR CMD check) plus new pure R regression tests. - The vignette was moved to the standard
vignettes/directory, its code chunks are no longer evaluated at build time (the Python backend is not available on build machines), and the references were corrected. - Startup message points users to
ustats::check_ustats_setup()and thepure_R_code = TRUEfallback.