Changelog
Source:NEWS.md
ipd 0.4.0
CRAN release: 2026-03-06
Summary:
Refactored internal Chen-Chen and PDC functions to centralize matrix-based estimators and reduce duplicated logic across models.
Added thin ipd-compatible wrappers for OLS, logistic, and Poisson Chen-Chen and PDC methods.
Improved internal GLM handling and documentation to support ongoing methodological development.
Specific Changes:
-
Chen / PDC Refactor
Added new internal utilities file
utils_chen.Rhousing shared score/Hessian computation and matrix-based estimators.-
Centralized core augmented estimators:
-
compute_min_mse_est(): Chen-Chen min-MSE form -
compute_pdc_est(): PDC augmentation -
compute_min_mse_est_new(): experimental Chen-Chen variant with separate auxiliary design/family
-
-
Added shared internal helpers:
-
compute_residuals(): GLM residual and Hessian computation -
.fit_glm_from_matrix(): GLM fitting directly from design matrices -
.resolve_family(): robust family resolution for Gaussian, Binomial, and Poisson models -
expit()andexpit_derivative()
-
-
Thin Wrapper Functions (ipd helpers)
Rewrote
chen_ols()to use centralized matrix-based estimators.-
Added thin wrappers preserving existing
ipd()method lookup: All wrappers maintain backward compatibility with the existing helper contract (
list(est, se)).
-
Internal Documentation
- Added Roxygen2 documentation to all Chen/PDC utilities (including non-exported helpers).
- Introduced consistent section headers for estimator components and wrappers.
- Adding PDC method examples to documentation and vignette.
- Updating urls throughout to use doi.org links instead of journal-specific links.
-
Development Notes
-
compute_min_mse_est_new()is currently internal-only and not yet wired into theipd()method registry; future work will determine exposure via a new method (e.g.,chen_new) or argument toggle.
-
ipd 0.2.0
Summary:
Preparations to archive on CRAN and move to Bioconductor.
Slight formatting changes to conform to
stylerandlintrsuggestions.Added PPIa, Chen and Chen methods from Gronsbell et al. (2025) “Another look at inference after prediction.”
Specific Changes:
-
DESCRIPTION updates
-
Depends: R (>= 4.4.0) - Added
biocViews: Software - Added
Suggests: BiocStyle, BiocManager
-
-
Vignettes
- Converted existing R Markdown vignettes to Bioconductor style with
BiocStyle::html_documentand properVignetteIndexEntryheaders. - Added examples for Chen and Chen, PPI “All” methods.
- Converted existing R Markdown vignettes to Bioconductor style with
-
NEWS & CITATION
- Added
NEWS.mdentry (this file) and aCITATIONfile for package citation metadata.
- Added
-
Testing & QA
- Passed
BiocCheckwith no errors or warnings. - Updated
testthatsuite as needed for Bioc compliance.
- Passed
-
Continuous Integration
- Added GitHub Actions via
usethis::use_github_action("bioc-workflow")to run Bioconductor checks on Linux, macOS, and Windows.
- Added GitHub Actions via
-
README
-
Installation instructions updated to:
if (!requireNamespace("BiocManager", quietly=TRUE)) install.packages("BiocManager") BiocManager::install("ipd") -
Replaced CRAN build badge with:
-
-
New functions
-
ppi_a_ols(): implements the PPIa estimator for prediction‑powered inference. -
chen_ols(): implements the Chen & Chen estimator for inference on predicted data. -
.parse_inputs()- helper to validate and split input data. -
.drop_unused_levels()- helper to drop unused factor levels and report which were removed. -
.warn_differing_levels()- helper to warn on differing factor levels between labeled and unlabeled data. -
.build_design()- helper to build design matrices and outcome vectors. -
show()- implements S4 method foripdclass.
-
- Updates to functions
-
Bioconductor submission prep
- Branch created, tag
v0.99.0applied. - Will request CRAN archiving of the CRAN version upon successful Bioconductor acceptance.
- Branch created, tag
ipd 0.1.4
CRAN release: 2025-01-07
Added a help topic for the package itself (
man/ipd-package.Rd) viaR/ipd-package.Randroxygen2-
Updated the documentation for
ipd():Provided a more explicit description of the
modelargument, which is meant to specify the downstream inferential model or parameter to be estimated.Clarified that not all columns in data are used in prediction unless explicitly referenced in the
formulaargument or in thelabelargument if the data are passed as one stacked data frame.
Updated the documentation for
simdat()to include a more thorough explanation of how to simulate data with this function.simdat()now outputs adata.framewith a column named"set_label"instead of"set"to denote the labeled/unlabeled observation indicator.
ipd 0.1.3
CRAN release: 2024-12-03
Added a
NEWS.mdfile to track changes to the package.Added a
pkgdownsite for the package.ipd()now allows for regression through the origin withintercept = FALSEargument.-
ipd()now takes an additional argument,na_action, to handle missing covariate data.Currently supports
"na.fail"and"na.omit". Defaults tona.fail.Provides a more informative error message and lists which covariates are missing observations.
ipd()now takes an additional argument,n_t, which denotes the (optional) size of the training set used to generate the prediction rule. Defaults toInfbut is necessary for thepostpi_Xmethods ifn_t<n,N, the number of labeled and unlabeled observations, respectively, in the data being analyzed.