"unique_fraction" as a new statistic supported by
s_freq_j() and a_freq_j() (#519).lowercase_words argument to
string_to_title() to keep specified words lowercase
(#524)..cell_footnotes and .row_footnotes
arguments to format_stats() (#470).s_proportion_diff_j() which was a wrapper
around tern::s_proportion_diff(). The label
and conf_level parameters moved to
a_proportion_diff_j() (#442, #467).s_rel_risk_val_j() and
s_rel_risk_levii_j() to s_risk_diff_val_j()
and s_risk_diff_levii_j() to correctly reflect that they
compute risk difference (p1 - p2), not relative risk (p1 / p2)
(#442).get_ref_info() to accept ref_path = NULL
(#359).junco_get_stats() to inherit any default stats
from tern that are not explicitly defined in junco.get_ref_info() so that is works in the presence
of “overall” column (#332)tt_to_tlgrtf() lost titles in
certain cases (#373)def_colwidths() when a column label
is too long (#281)h_get_cur_trt_grp() (#295).h_get_trtvar_refpath() with
h_get_cur_trt_grp() (#295).get_ref_info() for matching column split paths
(#295).factor_by_order()
(#425).in_ref_col() to in_column() and
renamed its ref_path argument to
col_path.in_ref_col() to accept
ref_path = NULL (#404).cur_col_split_path() and
in_column() to support custom analysis functions that
depend on the current column split context (#404).label argument in
c_summary_subset_label().a_summary_subset().prepend_label_cell(); Only
RowsVerticalSection is now supported.filter_df_prior_afun(),
a_summary_diff_mvars(),
a_summary_diff_mvars_label().a_coxph_hr for
tern:::a_coxph_pairwise() and s_coxph_hr for
tern:::s_coxph_pairwise() #158rbmi test to make tests shorter
(#323)test-tt_to_tblfile
(#323)h_ancova for the tern
onea_eair100_j and introduce
scaling factor num_p_year (default = 100) (#361)a_freq_resp_var_j
(#236)dplyr from junco and replaced by
base R #201assertthat by checkmate for
consistency #201stringi from dependencies #201rbmi_analyse(),
make_rbmi_cluster(), par_lapply() for
rbmi equivalent functions #367a_kaplan_meier() for
tern::a_surv_time()range_with_cens_info from
"Min, max" (junco) to
"Min - Max (with censoring)" and the argument from
lsmean_diffci to lsmean_diff_with_cis_coxph_hr() for
tern:::a_coxph_pairwise()a_freq_j() when
label_map option is used in a rowsplit with no data on a
character analysis var #386roxygen2 8.0.0a_eair100_j and introduce
scaling factor num_p_year (default = 100) (#361)jjcsformat_count_denom_fraction and
jjcsformat_fraction_count_denom and introduce functions
jjcsformat_count_denom_fraction_legacy and
jjcsformat_fraction_count_denom_legacy for backward
compatibility reasons (#450)insightsengineering urls to
pharmaversepostfun_eq5d into
stats_in_cols_setup.var in s_freq_j
(#453).id argument in
a_freq_j() and s_freq_j() (#424).jjcsformat_percentage() for formatting percentage
values (#519).a_combo_prop_diff_pval_mf() for proportions, risk
differences, and risk difference tests with adaptive Mantel-Fleiss-based
method selection (#517).s_test_proportion_diff_mf() and
a_test_proportion_diff_mf() adaptive test of stratified
response-proportion differences using the Mantel–Fleiss criterion
(#457).s_proportion_diff_mf() and
a_proportion_diff_mf() adaptive estimation of stratified
response-proportion differences using the Mantel–Fleiss criterion
(#456).a_cond_proportion_j() which implements
conditional method selection between Wald and Clopper-Pearson confidence
intervals based on the number of responses and the denominator (and the
method selection can either be done on cell level or on row level).a_sum_ratio_j() analysis function for computing
sum, unique-row sum, and their ratios against a denominator column.strict_match() for uniquely matching a value in
the odd or even positions of a character vector.categorize_pval() for assigning p-values to
validated, user-defined categories.pool_rubin_scalar() and
pool_z_stat() for pooling scalar estimates and z statistics
across imputations.resp_multiple_imputation() to impute missing
binary responses across scenarios and pool CMH risk-difference and
p-value results.label_map in
a_freq_j (#235)tern methods for difference in proportions in
a_freq_j and a_freq_resp_var_j :
cmh_sato, cmh_mn,
uncond_exact_diff (#389)a_summary_j_with_exclude() to allow
tern::a_summary() analyses to be skipped for selected row
split levels.a_summarize_mmrm_with_exclude() to allow MMRM
summaries to be skipped for selected row split levels.rightside() to extract the right-hand side of a
formula as a scalar character value.a_three_tier() as extension to
a_two_tier().format_sigfig_j() as
alternative to tern::format_sigfig(). (#436)make_multicomp_splfun(),
grouped_cols_w_diffs(),
grouped_cols_w_subgrps(),
shift_tbl_col_struct(), and
some_v_all_col_struct().fmt_spec_single_d, fmt_spec_df_d,
fmt_spec_var_d. (#474)get_fmt_details and
compare_fmt_specs for reviewing format specification
objects.s_kaplan_meier() range censoring indicator
handling to no longer produce NA values in the output when
either all subjects are censored or none are censored.a_freq_resp_var_j() with
a_freq_j() by adding .formats and
na_str parameters to allow user customization of output
formatting and NA string representation (#67).leftside(), postfun_eq5d
ac_blank_line and tt_to_tblfilett_to_flextable_j() to have correct
left-indentation in header col 1 (#171) and footer first line starting
with newline (#171)a_freq_j(), a_freq_resp_var_j() and
a_eair100_j() (#195)insert_keepNext_vertical_pagination()
(#218)s_summarize_desc_j() when applied to
almost constant data due to behavior from t.test.default()
(#257)tt_to_tlgrtf() now is passing vectorized colwidths when
exporting ‘allparts’ to match the colwidths of the individual parts
(#225)c_summary_subset_label(): removed
.spl_context argument and renamed subset_expr
to filter_expr.a_summary_j() to
a_summary_subset() and updated its purpose, implementation,
and arguments.junco_utils_default_stats_formats_labels.r file.s_diff_mean_ci() to
s_diff_means(), and added new statistics to
s_diff_means().safe_t_test() from
a_summarize_aval_chg_diff.R to a new file
safe_t_test.R,add_blank_line_rcells() from
s_functions.R to blank_line.R.n for s_ancova_j into
n_fit, to differentiate between these two statistics for
combined function s_summarize_ancova_j() (#117)junco_default_labels_startdefault_stats_formats_labelstt_to_flextable_j() and
export_as_docx_j()export_TLG_as_docx(),
which now calls export_as_docx_j() and
export_graph_as_docx() (#173)export_as_docx_j() and
export_graph_as_docx() still exist but are now internal,
i.e. not exportedcran = TRUEtheme_docx_default_j,
tt_to_flextable_j and export_TLG_as_docxa_diff_means(), which is based on the existing
s_diff_means().a_summary_diff_mvars(),
a_summary_j(), c_summary_subset_label(),
filter_df_prior_afun(), prepend_label_cell(),
s_diff_mean_ci(), s_summary_diff(),
safe_t_test() (#304).a_summarize_ancova_j in a
layout with a combined column facet (#117) + slight change in return
value for s_ancova_j(), now we have n_fit instead of n
returnedtt_to_tlgrtf() and export_as_docx_j()export_TLG_as_docx() and
tt_to_flextable_j() (#213)mult_adj_emmeans in
fit_mmrm_j() to enable (single-step or step-down) Dunnett
multiplicity adjustment for LS means contrasts (p-values and confidence
intervals) for more than one experimental arm within visits.vars argument
of fit_mmrm_j() to enable fitting an overall MMRM with
subgroup interaction terms.lsmeans_wide_cfun,
lsmeans_wide_first_split_fun_fct,
lsmeans_wide_second_split_fun_fctlifecycle to suggestscountsource in
h_a_freq_dataprep altdf_subset (#200)tt_to_tlgrtf(), when exporting an empty listing
do not lose Title and Footerstt_to_tlgrtf() argument
label_width_ins which was not applying the change in the
row label column width (#166).Add a_two_tier() analysis function
Add a_maxlev() to be able to calculate count and
percentage of the maximum level of an ordered factor per
subject
Remove brackets_to_rtf()
Export rbmi_pool() #22
Add functionality to a_freq_j() to process
val = NULL from levels specified in label_map,
as well as the modified version a_freq_j_with_exclude()
that allows to exclude the analysis from specified row splits.
#95
Add a_cmhrms_j() to support p-value from CMH row
mean score test, as well as the modified version
a_cmhrms_j_with_exclude() that allows to exclude the
analysis from specified row splits. #97
Added standard error (SE) column for each treatment arm’s least
square (LS) means estimate to the summarize_lsmeans_wide()
layout.
Added the internal function do_exclude_split() to
facilitate the exclusion of specified row splits from analysis
functions.
Remove some unused functions (jj_uc_map, postfun_cog, column_N, non_blank_sentinel, null_fn, unicodify
Add extra check for existence of .alt_df_full when
layout has risk difference column and a row-split (h_create_alt_df)
#120.
Add docx exporter for Tables, Listings and Figures.
Add alignments argument in
tt_to_tlgrtf()
Removed s_test_proportion_diff() and corresponding
helper functions, as they are now available as needed in the
tern package.
Added cmh_sato and cmh_mn
(Cochran-Mantel-Haenszel stratified proportion difference estimation
with Sato variance and Miettinen Nurminen method, respectively)
method options to the s_proportion_diff_j()
function.
Added formatting function round type (#76)
Fixed bug in s_summarize_desc_j function to handle sparse data (zero variance) cases (#78)
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.