Changes in version 0.7.6 Bug fixes - add_trans_prob() and add_trans_ci() no longer require the input data to be pre-sorted; the internal arrange call is now handled automatically, fixing the user-facing sorting dependency reported in #255 and related to #227. - Fixed transition probability matrix dimensions when transitions start from state 0 (off-by-one in state indexing). - add_trans_prob() / add_trans_ci() / get_trans_prob() now consistently thread time_var and interval_length, removing hardcoded tend paths and fixing argument forwarding when add_trans_prob() calls add_cumu_hazard() with nonstandard column names. - add_counterfactual_transitions() now fully honors from_col, to_col, and transition_col. - get_trans_prob() now supports non-integer (categorical) state labels (e.g. "healthy->ill") in addition to integer-coded transitions. Enhancements - Transition probability calculation is faster due to a base R refactor (previously used dplyr internally). - gg_state_occupation() is now exported. Dead parameters group_labels and nrow have been removed; user-supplied ncol is now respected. Changes in version 0.7.5 Breaking changes - make_newdata() output no longer contains internal PED columns (tstart, intlen, interval, offset, ped_status). Output now contains tend + id + user covariates (plus cause/transition for competing risks / multi-state models). ped_info() output is unchanged. - intlen is now reconstructed on demand by downstream functions (add_cumu_hazard, add_surv_prob, add_cif, add_trans_prob) via the new internal helper reconstruct_intlen(), and dropped from user-facing output. - add_cif() now uses the exact closed-form integral of the cumulative incidence function under piecewise-exponential hazards ((h_j / Σh) · S(t_{i-1}) · (1 - exp(-Σh · Δt))) instead of the previous left-Riemann approximation. CIF estimates from existing user code will change numerically; results are now invariant to the time grid passed to make_newdata(). Enhancements - add_cif() now supports arbitrary time points in make_newdata() (parity with add_cumu_hazard()); missing breakpoints are inserted internally so CIF estimates are independent of the chosen prediction grid. - expand_df() preserves the cause column when make_newdata() is called with only tend and cause, fixing a competing-risks edge case. - predictSurvProb.pamm() now respects non-default id column names and works when trafo_args are not attached to the fitted object. Deprecations - The trafo_args argument of pamm() is deprecated; convert data with as_ped() before calling pamm(). Documentation - Added derivation of the piecewise-exponential CIF integral to the competing-risks vignette. Changes in version 0.7.4 (2026-02-16) Bug fixes - Fixed competing risks data transformation when status variable is a factor (#220, #216, #233) - Fixed CIF calculation to use factor levels from newdata instead of model attribute (#245) - Fixed cut point extraction for factor/character status variables - Fixed transition probability matrix initialization for states starting at 0 or 1 - Fixed CRAN NOTE: added id to global variables for dplyr compatibility (#260) Enhancements - Improved add_trans_prob: better documentation, proper examples, attribute attachment, and base R speedup - Added warning in pamm() when data does not contain an offset column - Added broom to Suggests Documentation - Updated add_trans_prob help page with proper parameter descriptions and working example - Added simulations vignette Changes in version 0.5.93 (2024-02-25) - Maintnance (some tidyverse deprecations, link fixes, etc., smaller bugs) Changes in version 0.5.92 (2023-07-12) - Fixed competing risks data trafo in case of more than 2 causes Changes in version 0.5.9 - Fixes issue 154: direction argument to geom_stepribbon Changes in version 0.5.8 (2022-01-09) - removed argument methods from pamm. Can be specified via .... Fixes #200 - adapted warn_about_new_time_points when original data not stored in model object. Fixes #203 - Fixed issue where not all ped attributes were retained when applying dplyr functions #202 Changes in version 0.5.7 (2021-06-21) - added staph data with recurrent events Changes in version 0.5.6 (2021-03-29) - maintenance fix - fixes to URLs and DOIs Changes in version 0.5.4 (2020-12-18) - updates to the split_data function that now accepts Surv(start, stop, event) type inputs, e.g., to construct left-truncated data. - Support and vignette for left truncated data - Support and vignette for competing risks data - Support and vignette for recurrent events data Changes in version 0.2.4 (2020-06-06) - CRAN fix. Discrepancy between man page and code. Changes in version 0.2.3 (2020-05-27) - CRAN fix. Compliance with new dplyr version (1.0.0) Changes in version 0.2.2 (2020-03-12) - CRAN fix, removed plyr dependency (see issue #141) - as_ped.ped now also works for transformations with time-dependent covariates Changes in version 0.2.1 (2020-02-09) - Adds a new interface for model estimation called pamm, which is a thin wrapper around mgcv::gam with some arguments pre-set. - Adds S3 method predictSurvProb.pamm - Adds support and vignette for model evaluation using package pec - Fixed bug when CIs were calculated simulation based and model contained factor variables - Removed unnecessary dependencies in Imports/Suggests Changes in version 0.1.15 - Interface for specification of data transformation in as_ped changed. The vertical bar | is no longer necessary to indicate concurrent or cumulative effects Changes in version 0.1.14 (2019-09-08) - Support for new interface to tidyr Changes in version 0.1.13 - Functions get_hazard and add_hazard also gain reference argument. Allows to calculate (log-)hazard ratios. - Introduces breaking changes to add_term function. Argument relative is replaced by reference, makes calculation of relative (log-)hazards, i.e. hazard ratios, more flexible. Argument se.fit is replaced by ci. Changes in version 0.1.11 (2019-04-18) bugs - fixes bug in dplyr reverse dependency (see #101) - fixes bug in tidiers for Aalen models (see #99) documentation - Better documentation and functionality for make_newdata - Added new vignette linking to tutorial paper (online only) Changes in version 0.1.9 (2019-03-14) - maintenance update: fixes CRAN issues due to new RNG Changes in version 0.1.8 (2019-01-02) documentation - Updates to cumulative effect vignette - Updates to time-dependent covariate vignette (+ data transformation) - Update citation information Features - concurrent now has a lag = 0 argument, can be set to positive integer values - as_ped accepts multiple concurrent specials with different lag specifications Bug/Issue fixes - Fixed bug caused by changes in checkmate #73 - Bug Fixes #42, #76, #63, #77 Changes in version 0.1.7 (2018-11-16) - Further improved support for cumulative effects - Added vignette on estimation and visualization of cumulative effect - Updated vignette on convenience functions (now "Workflow and convenience functions") - Other (minor) upgrades/updates to documentation/vignettes - Updates homepage (via pkgdown) Changes in version 0.1.3 Minor changes - Update documentation - More tests/improved coverage - Lag-lead column is adjusted in make-newdata.fped Bug fixes - visualization functions gg_laglead and gg_partial_ll did not calculate the lag-lead-window correctly when applied to ped data Changes in version 0.1.0 Features - Better support for cumulative effects - Lag-Lead matrix now contains quadrature weights - Better support for visualization of cumulative effects Changes in version 0.0.9 Breaking changes - make_newdata loses arguments expand and n and gains ... where arbitrary covariate specifications can be placed, i.e. e.g. age=seq_range(age, n=20). Multiple such expression can be provided and a data frame with one row for each combination of the evaluated expressions will be returned. All variables not specified in \code{...} will be set to respective mean or modus values. For data of class ped or fped make_newdata will try to specify time-dependent variables intelligently. - te_var argument in concurrent and cumulative was renamed to tz_var - te arguments have been replaced by tz (time points at which z was observed) in all functions to avoid confusion with mgcv::te (e.g., gg_laglead) Updates and new features - Overall better support for cumulative effects - Added convenience functions for work with cumulative effects, namely - gg_partial and - gg_slice - Added helper functions to calculate and visualize Lag-lead windows - get_laglead - gg_laglead - Added convenience geoms for piece-wise constant hazards (see examples in ?geom_hazard, cumulative hazards and survival probabilities (usually aes(x=time, y = surv_prob), but data set doesn't contain extra row for time = 0), thus - geom_stephazard adds row (x=0, y = y[1]) to the data before plotting - geom_hazard adds row (x = 0, y = 0) before plotting (can also be used for cumulative hazard) - geom_surv add row (x = 0, y = 1) before plotting Changes in version 0.0.8 - All data transformation is now handled using as_ped (see data transformation vignette) - Data transformation now handles - standard time-to-event data - time-to-event data with concurrent effects of time-dependent covariates - time-to-event data with cumulative effects of time-dependent covariates - Added functionality to flexibly simulate data from PEXP including cumulative effects, see ?sim_pexp - Added functionality to calculate Aalen-model style cumulative coefficients, see ?cumulative_coefficient - Breaking change in split_data (as_ped now main data trafo function): - removed max.end argument - added max_time argument to introduce administrative censoring at max_time when no custom interval split points are provided Changes in version 0.0.3 pammtools 0.0.3.2 - More tidyeval adaptations - consistent handling of "no visible global binding" NOTEs - Release used in A. Bender, Groll A., Scheipl F., "A generalized additive model approach to time-to-event analysis" (2017). Statistical Modelling (to appear) pammtools 0.0.3.1 - some adaptations to tidyeval - Minor bug fixes Changes in version 0.0.2 - Ported pamm package to pammtools due to naming conflicts with PAMM package on CRAN