NEWS.md
table2(): the core function of rifttable
table1(): see rifttable::table1_design()
scoreci(), survdiff_ci(), rates(): now internal functions available via rifttablemytab(): use khsmisc::tabulate_rowcol()
mygt() is deprecated in favor of rifttable::rt_gt()
forcats::fct_na_value_to_level() in {forcats} >= 1.0.0make_exclusions() criteriacorrmat() font size more customizabletable1() and table2() have been superseded by the more flexible and more lightweight {rifttable} package. They will remain available in this package for the near future as underlying packages permit.table2() compatible with {dplyr} 1.1.0 (input type checks)github_document: mygt() and table1() now export directly to markdown, using knitr::kable(), eliminating the extraneous inline CSS. The tab_style() and tab_footnote() functions are wrappers that also accept on kable tables.here(), knit to github_document by default.brickchart(): add clip and flip optionstable2(): also pass confounders, trend to custom functionstable2(): add option to suppress estimates if per-cell count lower than the design option nmin
brickchart(): make proportion and counts per group available for labelingtable1(): display one or more unstratified datasetstable1():
table2():
type = "irrrob", Poisson models with robust standard errors for ratios of continuous outcomestype and type2
make_exclusions(): return a list of observations filtered out (excluded)brickchart(): do not drop by or group categories without eventstable2()
table1() and table2() %>% mygt(): Remove horizontal border lines at the top of indented lines (parameter remove_border).mygt():
output: github_document.table2():
mygt() as an attribute instead of HTML.logical effect modifiers, missing per-stratum estimates, and rounding of type = "time" and "events/time".type = "range" (min-max).brickchart(): make compatible (without legend) with ggplot >= 3.3.4; make facets customizable.roundp(): format p as > 0.99 instead of 1.00.make_exclusions(): New function for sequential exclusions to derive an analytical data set and prepare a flow chart for exclusion_flowchart().estimate_rmtl(): New function, reshaping code by Conner and Trinquart, that estimates restricted mean time lost, handling competing risks and weighting.survdiff_ci(): New function for differences in x-year survival/cumulative incidence.table2():
design matrix, digits for rounding can no longer be provided as part of type. Use separate column digits if needed.exposure variable, as well as showing overall and stratified estimates in one table.table2(custom = list(fun_a, fun_b))) that can be called via, e.g., type = "custom1".type options: medsurv median survival, medfu/maxfu median/maximum follow-up, surv/cuminc survival and cumulative incidence from Kaplan-Meier, rmtl restricted mean time lost, rmtdiff/survdiff/cumincdiff difference in RMTL/survival/cumulative incidence, mean (sd)/sd mean and standard deviation.--.risk_digits for rounding of risk/cumulative incidence.type = "median (iqr)": do not remove missing values, like elsewhere.man/figures/.table1():
type parameter, passed along to gtsummary::tbl_summary().table2():
type2 column to the design matrix to allow adding a second estimate per cell.prepare_md parameter and example for how to obtain a markdown-formatted label column (e.g., **bold** for a bold label).mygt(): add md option to get markdown formatting on selected columns through gt::fmt_markdown(columns = md)
table2():
trend to the design matrix to allow for estimating linear slopes for a continuously-coded exposure.type = "irr" as an RR model with approach “i”.brickchart(): Auto-generate color palette for an unlimited number of exposure categories. Expand examples.DESCRIPTION: Add Suggests: markdown to fix github-actions.table2(): For risk ratios and risk differences, allow passing on model fitting approach and number of bootstrap repeats.ovarian dataset was removed from the survival package; use (lung) cancer instead.table2():
outcome variable for type %in% c("fold", "or").type = "cases/controls".type = "foldlog" for models of geometric means.type = "quantreg" for differences from quantile regression.brickchart(): New function for “brick charts”–proportions by category, where “bricks” display individual observations.table2(): Fix exposure category order if starting table with "blank" row.khsmisc_rmarkdown_template: custom RMarkdown templatesaveRDS_safely(): equivalent to save_safely() for single objects and .rds filesgeom_stepribbon(): ggplot aesthetic to highlight the difference between two Kaplan-Meier curves, corresponding to the difference in RMSTDepends:. Instead, provide the khsverse package as an alternative package loader if desired. Remove readxl and magrittr dependencies altogether.DESCRIPTION: Add Remotes: to install risks package from Github
table2(): Add left-truncated survival models, using time and time2 elements in the design matrix.path = argument of write_csv_safely() to file =, as in save_safely() and pdf_savely().table2():
type = "or" for logistic models.digits_....table2().table2():
diff_digits, ratio_digits, and rate_digits are global parameters of table2() that can be overridden using type = "(estimand) (digits)" in each line.exclusion_flowchart(): visualize exclusions from study with a flowchart via DiagrammeR::grViz().table2():
exposure to be a factor and issue a warning, but do not abort.type = "diff" and type = "mean".table1(), table2(), tsummary(): improve input error handlingtable2(): allow grouping multiple strata of the effect modifier; add type = "outcomes (risk)"
table2(): include estimates from risk ratio and risk difference models; input checks; allow for missing effect modifier, confounders; more descriptive statistics; more examples.scoreci(): new function for Wilson score confidence intervals for proportions.tabulate_rowcol(): replacement for mytab() (which remains available); it supports tidy evaluation.corrmat(), tsummary(), and table1() still use all variables in a dataset if none are selected but can now take variable names as an argument.corrmat() argument missing renamed to use to be consistent with the underlying stats::cor().rates(): new parameters risk_time to specify the time point at which cumulative incidence should be calculated, and by for stratification variables. If a dataset has already been grouped using dplyr::group_by(), grouping will be retained.