rifttable 0.7.3
- New functionality:
- The
timepoint for time-to-event analyses (e.g.,
"cuminc", "cumincdiff") can be directly
provided as a variable in the design. The previous way of
providing it via arguments = list(timepoint = 365.25)
remains functional as a second option.
- The spelling
strata instead of stratum in
the design is also accepted as a fallback.
- Bug fixes:
table1_design() omits an empty row for categorical
variables that are completely NA (thanks @tsurudak for the bug
report).
survdiff_ci() now reports two-sided p-values
(thanks @eribul for
the bug report #12).
- Confidence limits for ratios and differences of cumulative incidence
(
type = "cumincdiff" and "cumincratio") in
settings without competing events have been fixed. Previously, upper and
lower limits were swapped in intermediary steps when using the default
MOVER method, leading to shifted intervals (thanks @tgerke for the bug report
#13 and pull request).
- All
data are now kept as a tibble
internally to address edge cases of failing input checks on
data provided as a data.frame.
- The
exposure variable name or label can be now be
identical to a category of this variable, and empty labels are better
supported.
rifttable 0.7.2
- Bug fixes:
survdiff_ci() now uses the conf.level
argument correctly in confidence interval estimation using the MOVER
approach (#8).
- Internal:
- Anticipate changes in {dplyr} 1.2.0 in label handling in unit tests
(thanks to @DavisVaughan, #10).
rifttable 0.7.1
- Housekeeping for CRAN release
rifttable 0.7.0
- Breaking changes:
- Require base R pipe
|> and thus R >= 4.1.
- Make the
id variable identifying clustered observations
within the same individual a global rifttable() option for
the entire data set, not only for specific estimators.
- New functionality:
- Expand input checks to missing values in time/event variables, to
missing effect modifiers for joint models and their levels, to
nonexistent custom estimators, and to empty input data sets.
- Add
type = "sum" estimator.
- Internal and bug fixes:
- Cover entire package by unit tests.
- Return exposure consistently as a
character.
- Let the
design accept weight in addition
to weights.
- Require {risks}
>= 0.4.3.
- Use modern tidyselect, anonymous functions, and code style.
rifttable 0.6.3
- New functionality:
- Provide easier interface to code competing events by directly
providing
event = "event_variable@Event_Type_One" in the
design. If multiple event types are present, estimate
cumulative incidence and differences/ratios of cumulative incidence in a
competing-event setting.
- Allow for clustered observations in survival data, e.g., multiple
rows per person.
- Estimate ratios of survival and cumulative incidence, i.e.,
x-year risk ratios. Use MOVER estimation for confidence
intervals of both ratios and differences in survival and cumulative
incidence by default.
- Support weights, e.g., inverse-probability weights, directly via a
weights argument in the design. Weighted
estimates are currently available for many survival estimators:
type = "cuminc", "surv", their differences and
ratios (e.g., "cumincdiff"), and "hr". This is
a breaking change for Cox models (type = "hr"), where
providing weights in the arguments list now
generates an error.
- Bug fixes:
- Allow for
@ in factor levels for a
table1_design().
rt_gt(): Output knitr-formatted tables for
GitHub-flavored markdown also in Quarto .qmd, similar to
.Rmd.
- Better handling of edge cases, e.g., ratios of 0, when rounding
estimates.
- Expanded documentation
- Restructure site.
- Separate documentation of estimators by outcome type.
- New FAQs on confidence levels, reference levels, custom functions,
and joint models.
rifttable 0.6.2
- New functionality:
- Add overall argument
exposure_levels to let user
control handling of missing exposure levels (NA) or factors
with empty levels as the exposure.
type = "geomean" for geometric means.
- Documentation: Expand FAQs.
- Internal and bug fixes:
- Consider
exposure or trend of
"" as missing, and stratum = "" as no
subsetting by the effect_modifier, instead of subsetting to
effect modifier being an empty string. Input check that a stratum must
be provided for joint models and strata are not empty.
- Consider missing
type as "blank".
- Do not add empty rows/columns if
type2 has empty
results for some cells or if only a trend variable and no
exposure is given.
- Rounding works even if result vector contains strings (e.g., no
estimate).
- More safeguards for all-
NA outcome
variables. More input checks.
- Do not warn about non-
0/1 outcomes in
log-linear models for ratios of continuous variables.
- Add initial set of unit tests.
rifttable 0.6.1
- New functionality:
- Cox models (
type = "hr") allow for
weights, clustering, and robust standard
errors.
- Argument
ratio_digits_decrease: By default, decrease
number of decimal digits shown for ratios by 1 digit for ratios > 3
and by 2 digits for ratios > 10. Leads to rounded ratios and
confidence intervals of 1.23, 3.4, and
11.
rt_gt() now indents the first column and applies
markdown formatting to it by default.
- New FAQ vignette.
- Bug fixes:
- Binary outcomes returned
NA instead of 0
in unstratified tables with all-null outcome.
type = "maxfu" ignored digits and
diff_digits.
- Allow for different
exposure (strata labels) and
arguments in one table.
- Show unstratified estimate if
exposure is
"", not just for NA.
- Internal:
rt_gt(): suppress random id of gt tables
to keep git diff slim.
- Keep variables
.event, .outcome, etc.
available under their original names.
- Require {risks} >= 0.4.2.
- Examples load the
breastcancer dataset from the risks
package.
rifttable 0.6.0
- Breaking changes:
to is set to ", " by default, instead of
"-" for ratio variables and " to " for
difference variables
- Custom functions are now directly called via the
type
variable, following a restructuring of all estimation functions with
greater flexibility.
design$type no longer accepts additional arguments,
such as time points. Supply list instead via
design$arguments.
- Suppression of strata with sparse or re-identifiable data with
design$nmin now differentiates between counts of total
observations or outcomes, depending on estimator.
- New function
table1_design(): Generate design of a
descriptive “Table 1.”
- New
outcome option "variable@level" for
categorical variables that displays level as a binary
outcome. Used by table1_design().
- Support unstratified tables displaying the trend/linear slope
(
trend variable in the design) without an
exposure.
- More customization:
rifttable(reference = ...): Label for the reference
category.
design$ci: Width of confidence intervals.
design$na_rm: Omitting observations with missing
outcome data.
design$arguments: Flexibly passing along any argument
to estimation functions.
- New vignette describing all estimators.
- Internal:
- Drop dependency on R >= 4.1 and native pipe.
- Require {risks}
>= 0.4.0.
- Remove dependency on {labelled} package.
- The {gt} and {quantreg} packages are now optional as soft
dependencies.
- Compatible with {dplyr} 1.1.0, {tidyselect} 1.2.0
rifttable 0.5.0
- khsmisc::table2() “graduated” into its own package. See {khsmisc} Changelog
for earlier versions.
- Add
breastcancer() dataset
- Use R >= 4.1 native pipe,
|>
- Remove RMTL estimators