junco 0.1.7
CRAN release: 2026-10-13
Changed
- Added
"unique_fraction"as a new statistic supported bys_freq_j()anda_freq_j()(#519). - Added
lowercase_wordsargument tostring_to_title()to keep specified words lowercase (#524). - Added
.cell_footnotesand.row_footnotesarguments toformat_stats()(#470). - Removed
s_proportion_diff_j()which was a wrapper aroundtern::s_proportion_diff(). Thelabelandconf_levelparameters moved toa_proportion_diff_j()(#442, #467). - Renamed internal functions
s_rel_risk_val_j()ands_rel_risk_levii_j()tos_risk_diff_val_j()ands_risk_diff_levii_j()to correctly reflect that they compute risk difference (p1 - p2), not relative risk (p1 / p2) (#442).
Fixed
- Fixed
get_ref_info()to accept ref_path = NULL (#359). - Fixed
junco_get_stats()to inherit any default stats fromternthat are not explicitly defined in junco. - Fixed
get_ref_info()so that is works in the presence of “overall” column (#332) - CRITICAL: hotfixed
tt_to_tlgrtf()lost titles in certain cases (#373) - CRITICAL: hotfixed
def_colwidths()when a column label is too long (#281)
Changed
- Updated several analysis functions to use
h_get_cur_trt_grp()(#295). - Replaced
h_get_trtvar_refpath()withh_get_cur_trt_grp()(#295). - Updated
get_ref_info()for matching column split paths (#295). - Added the new helper function
factor_by_order()(#425). - Renamed
in_ref_col()toin_column()and renamed itsref_pathargument tocol_path. - Updated
in_ref_col()to acceptref_path = NULL(#404). - Added the new helper functions
cur_col_split_path()andin_column()to support custom analysis functions that depend on the current column split context (#404). - Added a default value for the
labelargument inc_summary_subset_label(). - Updated the documentation of
a_summary_subset(). - Refactored
prepend_label_cell(); OnlyRowsVerticalSectionis now supported. - Removed
filter_df_prior_afun(),a_summary_diff_mvars(),a_summary_diff_mvars_label(). - Removed formatters exports #317
- Deprecate
a_coxph_hrfortern:::a_coxph_pairwise()ands_coxph_hrfortern:::s_coxph_pairwise()#158 - Reduce sampling of
rbmitest to make tests shorter (#323) - Optimize shared tables in
test-tt_to_tblfile(#323) - Changed forked
h_ancovafor theternone - Add extra statistics to
a_eair100_jand introduce scaling factornum_p_year(default = 100) (#361) - Removed ellipsis argument from
a_freq_resp_var_j(#236) - Removed
dplyrfromjuncoand replaced by base R #201 - Replaced
assertthatbycheckmatefor consistency #201 - Remove
stringifrom dependencies #201 - Deprecate
rbmi_analyse(),make_rbmi_cluster(),par_lapply()forrbmiequivalent functions #367 - Deprecate
a_kaplan_meier()fortern::a_surv_time() - Changed the label for
range_with_cens_infofrom"Min, max"(junco) to"Min - Max (with censoring)"and the argument fromlsmean_diffcitolsmean_diff_with_ci - Deprecate
s_coxph_hr()fortern:::a_coxph_pairwise() - Changed stop message in
a_freq_j()whenlabel_mapoption is used in a rowsplit with no data on a character analysis var #386 - Use new exported splv_extra and value_expr accessors (insightsengineering#1098)
- Update new exported calls from rtables.officer
- update documentation to
roxygen28.0.0 - Add extra statistics to
a_eair100_jand introduce scaling factornum_p_year(default = 100) (#361) - Updated behavior of formatting functions
jjcsformat_count_denom_fractionandjjcsformat_fraction_count_denomand introduce functionsjjcsformat_count_denom_fraction_legacyandjjcsformat_fraction_count_denom_legacyfor backward compatibility reasons (#450) - Updated
insightsengineeringurls topharmaverse - Renamed and refactored
postfun_eq5dintostats_in_cols_setup - Added factor assertion on
.varins_freq_j(#453). - Added assertions for the
idargument ina_freq_j()ands_freq_j()(#424).
Added
- Added
jjcsformat_percentage()for formatting percentage values (#519). - Added a new analysis function
a_combo_prop_diff_pval_mf()for proportions, risk differences, and risk difference tests with adaptive Mantel-Fleiss-based method selection (#517). - Added
s_test_proportion_diff_mf()anda_test_proportion_diff_mf()adaptive test of stratified response-proportion differences using the Mantel–Fleiss criterion (#457). - Added
s_proportion_diff_mf()anda_proportion_diff_mf()adaptive estimation of stratified response-proportion differences using the Mantel–Fleiss criterion (#456). - Added
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). - Added
a_sum_ratio_j()analysis function for computing sum, unique-row sum, and their ratios against a denominator column. - Added
strict_match()for uniquely matching a value in the odd or even positions of a character vector. - Added
categorize_pval()for assigning p-values to validated, user-defined categories. - Added
pool_rubin_scalar()andpool_z_stat()for pooling scalar estimates and z statistics across imputations. - Added
resp_multiple_imputation()to impute missing binary responses across scenarios and pool CMH risk-difference and p-value results. - Updated documentation and examples for
label_mapina_freq_j(#235) - Added
ternmethods for difference in proportions ina_freq_janda_freq_resp_var_j:cmh_sato,cmh_mn,uncond_exact_diff(#389) - Added
a_summary_j_with_exclude()to allowtern::a_summary()analyses to be skipped for selected row split levels. - Added
a_summarize_mmrm_with_exclude()to allow MMRM summaries to be skipped for selected row split levels. - Added
rightside()to extract the right-hand side of a formula as a scalar character value. - Added
a_three_tier()as extension toa_two_tier(). - Added formatting function
format_sigfig_j()as alternative totern::format_sigfig(). (#436) - Added new standard column structure functions:
make_multicomp_splfun(),grouped_cols_w_diffs(),grouped_cols_w_subgrps(),shift_tbl_col_struct(), andsome_v_all_col_struct(). - Added varying decimal precision utility functions
fmt_spec_single_d,fmt_spec_df_d,fmt_spec_var_d. (#474) - Added utility functions
get_fmt_detailsandcompare_fmt_specsfor reviewing format specification objects.
0.1.6 - 2026-05-05 (CRAN release)
Fixed
- Fixed
s_kaplan_meier()range censoring indicator handling to no longer produceNAvalues in the output when either all subjects are censored or none are censored. - Aligned
a_freq_resp_var_j()witha_freq_j()by adding.formatsandna_strparameters to allow user customization of output formatting and NA string representation (#67). - Fixed the hanging indent in the first column of the body of the table (#138)
- Export
leftside(),postfun_eq5dac_blank_lineandtt_to_tblfile - Minor bugfix in DOCX exporter when calculating the number of pages (#188)
- Fixed
tt_to_flextable_j()to have correct left-indentation in header col 1 (#171) and footer first line starting with newline (#171) - Fixed relative risk difference derivations for combined column facets in
a_freq_j(),a_freq_resp_var_j()anda_eair100_j()(#195) - Fixed calculation of ‘reduce_first_col_indentation’ and section break positions in
insert_keepNext_vertical_pagination()(#218) - Fixed the little gaps in neighboring spanning headers in the docx exporter (#216)
- Fixed blank pages happening at the end of the docx (#177)
- DOCX exporter fixed watermark location in case of listings
- DOCX exporter updated table border width from 0.75 to 0.875 inches
- DOCX exporter when having vertical pagination in tables or listings, fixed the rows misalignment from page 2 and below compared to RTF
- Fixed bug in
s_summarize_desc_j()when applied to almost constant data due to behavior fromt.test.default()(#257) -
tt_to_tlgrtf()now is passing vectorized colwidths when exporting ‘allparts’ to match the colwidths of the individual parts (#225)
Changed
- Updated
c_summary_subset_label(): removed.spl_contextargument and renamedsubset_exprtofilter_expr. - Renamed
a_summary_j()toa_summary_subset()and updated its purpose, implementation, and arguments. - Added new stats/labels/formats/indents to
junco_utils_default_stats_formats_labels.rfile. - Renamed
s_diff_mean_ci()tos_diff_means(), and added new statistics tos_diff_means(). - Moved
safe_t_test()froma_summarize_aval_chg_diff.Rto a new filesafe_t_test.R, - Moved
add_blank_line_rcells()froms_functions.Rtoblank_line.R. - changed return value
nfors_ancova_jinton_fit, to differentiate between these two statistics for combined functions_summarize_ancova_j()(#117) - added default label for median_range “Median (min, max)” in
junco_default_labels_start - changed label from “experimental” to “stable” for
default_stats_formats_labels - refactored functions
tt_to_flextable_j()andexport_as_docx_j() - created generic wrapper function
export_TLG_as_docx(), which now callsexport_as_docx_j()andexport_graph_as_docx()(#173) - Functions
export_as_docx_j()andexport_graph_as_docx()still exist but are now internal, i.e. not exported - updated vignette to explain correctly how to insert newlines in the headers of Tables and Listings (#179)
- “watermark” argument in the docx exporter is now a String instead of a Boolean (#181)
- faster docx unit tests (#197)
- LS means tabulation uses very slightly updated column header (no blanks around the hyphen in “Testing-Reference”)
- Bump flextable and remove the skip() units tests (#193)
- Update colwidths tests to derive values
- Fix old TODOs in tests
- docx exporter added missing defaults (#186)
- Changed all snapshot tests to
cran = TRUE - Footnotes in docx and RTF outputs are now 1 table row/cell (#285)
- removed label “experimental” for
theme_docx_default_j,tt_to_flextable_jandexport_TLG_as_docx
Added
- Added
a_diff_means(), which is based on the existings_diff_means(). - Added multi-comparator functionality (#271)
- Hotfix: Added several new functions for creating the Vital Sign tables for core and clinpharm:
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). - Added option to perform
a_summarize_ancova_jin a layout with a combined column facet (#117) + slight change in return value fors_ancova_j(), now we have n_fit instead of n returned - Added option to switch on/off the export of the csv in both
tt_to_tlgrtf()andexport_as_docx_j() - Added option to specify the output folder for the csv
- Added argument ‘validate’ to
export_TLG_as_docx()andtt_to_flextable_j()(#213) - Added “watermark” argument in the docx exporter for Figures (#181)
- Added argument
mult_adj_emmeansinfit_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. - Added option for subgroup variable in the
varsargument offit_mmrm_j()to enable fitting an overall MMRM with subgroup interaction terms. - Export helpers for LS means tabulation:
lsmeans_wide_cfun,lsmeans_wide_first_split_fun_fct,lsmeans_wide_second_split_fun_fct - Added
lifecycleto suggests
0.1.5 - 2026-03-03 (minor hotfix release)
Added and Removed
- Added new behavior for nested
countsourcein h_a_freq_dataprepaltdf_subset(#200)
0.1.4 - 2026-02-02 (minor hotfix release)
Fixed
- “caption” paragraph style in the docx exporter is now handled by flextable (#182)
- Fixed
tt_to_tlgrtf(), when exporting an empty listing do not lose Title and Footers - Fixed
tt_to_tlgrtf()argumentlabel_width_inswhich was not applying the change in the row label column width (#166).
0.1.3 - 2026-01-12 (minor hotfix release)
0.1.2 - 2025-12-10
Added and Removed
Add
a_two_tier()analysis functionAdd
a_maxlev()to be able to calculate count and percentage of the maximum level of an ordered factor per subjectRemove
brackets_to_rtf()Export
rbmi_pool()#22Add functionality to
a_freq_j()to processval = NULLfrom levels specified inlabel_map, as well as the modified versiona_freq_j_with_exclude()that allows to exclude the analysis from specified row splits. #95Add
a_cmhrms_j()to support p-value from CMH row mean score test, as well as the modified versiona_cmhrms_j_with_exclude()that allows to exclude the analysis from specified row splits. #97Added 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_fullwhen layout has risk difference column and a row-split (h_create_alt_df) #120.Add docx exporter for Tables, Listings and Figures.
Add
alignmentsargument intt_to_tlgrtf()Removed
s_test_proportion_diff()and corresponding helper functions, as they are now available as needed in theternpackage.Added
cmh_satoandcmh_mn(Cochran-Mantel-Haenszel stratified proportion difference estimation with Sato variance and Miettinen Nurminen method, respectively)methodoptions to thes_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)
0.1.1 - 2025-07-28
Changelog
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.
