Parameter estimation
estimate_its_params() — all-in-one wrapper: estimates baseline,
sigma, rho, and trend_pre jointly by maximum likelihood from a
single GLS model with AR(1) errors (nlme::gls + nlme::corAR1), with
an automatic OLS fallback if GLS fails to converge. The estimation
method used is reported in the returned method element. This matches
the simulation engine and avoids the upward bias in sigma (and the
unreliable rho) that the OLS two-step produces under autocorrelation.
Accepts a data frame or a plain numeric vector; handles date-indexed
time columns and missing values with informative warnings.estimate_baseline(), estimate_sigma(),
estimate_rho(), estimate_trend(). Each uses a simple OLS two-step
and is intended for quick single-parameter checks; for power
calculation, prefer the jointly estimated values from
estimate_its_params().Power simulation
simulate_its_data() — data-generating process for a single ITS site:
Gaussian outcome with linear trend, step change, slope change, and AR(1)
autocorrelated errors. Supports negative rho.fit_its_model() — segmented regression via nlme::gls() with AR(1)
correction; returns p-value for "level", "slope", or "both" effects.calculate_power() — Monte Carlo power estimation for single-site ITS.
Returns a pits_power_result object.calculate_power_multi() — power for multi-site designs via
nlme::lme() with site random intercepts and per-site AR(1). Returns a
pits_power_result object.power_sweep() — runs calculate_power() across a vector of n_post
values; returns a pits_sweep_result data frame.build_param_grid() — constructs a factorial parameter grid for
sensitivity analyses.run_power_grid() — applies calculate_power() to every row of a
grid; appends power estimates to the grid data frame.Plots and diagnostics
plot_power_curve() — line plot of power vs n_post, with 80% target
line and minimum adequate duration marker.plot_power_heatmap() — colour-coded power grid across two parameters,
with cell labels and adequacy marker.plot_its_example() — simulated ITS series with fitted segmented
regression overlaid; useful for figures in papers and protocols.diagnose_params() — 2×2 diagnostic panel: observed series + trend,
residuals over time, Q-Q plot, and residual ACF.S3 methods
print.pits_power_result() — formatted console output for
calculate_power() and calculate_power_multi() results.summary.pits_power_result() — extended output including p-value
quantile distribution.print.pits_sweep_result() — formatted table with adequacy markers
for power_sweep() output.Utilities and wrappers
interpret_power() — converts a numeric power estimate to
"Adequate (>= 80%)", "Borderline (60-79%)", or
"Underpowered (< 60%)".validate_params() — pre-flight parameter checks with informative
errors and warnings.simulate_predata() — generates synthetic pre-intervention data with
known parameters; useful for testing and vignette examples.export_results() — saves pits_power_result or pits_sweep_result
objects to timestamped CSV and plain-text summary files. The output
directory (dir) must be supplied by the user; there is no default path,
so nothing is ever written to the working directory or home filespace
unless explicitly requested.run_its_power() — full single-site workflow with console output and
optional sweep and file saving.estimate_and_calculate() — chains parameter estimation and power
calculation in a single call.Data
example_cfr_data — 24 months of synthetic monthly case fatality rate
data (baseline ≈ 14.7%, sigma ≈ 1.51, rho ≈ 0.37) for use in
vignettes and examples.Vignettes