Releases: atorus-research/Tplyr
Release list
Tplyr 1.4.1
A single bug fix release.
Bug fixes
-
An unnamed
emptyinf_str()was ignored when every value on a row was missing (#215). In a descriptive statistics layer, a row where all summarized values areNAcame out blank instead of filling the format string.group_desc(AVAL, by = PARAMCD) %>% set_format_strings( 'n' = f_str('xxx', n, empty = "0"), 'mean, sd' = f_str('xxx.xx, xxx.xx', mean, sd, empty = "NA") )
row before after n(blank) 0mean, sd(blank) NA, NAA regression introduced in 1.3.2 when descriptive string construction was vectorized. The replacement dropped all-missing rows from formatting entirely, but only populated them when
emptywas named.overall— so an unnamedemptyfell through both branches.Behaviour for the other two
emptymodes is unchanged: the defaultc(.overall = '')still blanks the cell, and a namedc(.overall = "NONE")still replaces the whole result.
Full Changelog: v1.4.0...v1.4.1
Tplyr 1.4.0
New Features
-
Overall maximum precision for auto-precision formats (#219).
set_format_strings()gainsmax_intandmax_decarguments, backed by a newtplyr.max_precisionoption. The existingcapargument limits the length allotted to theaof an auto-precision format, but the+modifier is applied on top of it, soa+2could still grow past the cap. The new maximums are applied after auto-precision and the+modifier combine:group_desc(AVAL, by = PARAMCD) %>% set_format_strings( 'Mean (SD)' = f_str('a.a+1 (a.a+2)', mean, sd), max_dec = 4 )
They apply only to format groups that use auto-precision — an explicitly specified format like
xx.xxxis left alone.max_intfollows the existing integer semantics: it limits the space allotted, but integers never truncate. Defaults reproduce previous output exactly.
Bug fixes
set_shift_layer_formats()table level defaults silently ignored (#216). Shift layers that didn't set their own format strings fell through to the option default, rendering counts unformatted and droppingpctentirely.- Incorrect
add_missing_subjects_row()counts on nested count layers (#217).set_distinct_by()was not applied to the inner layer, so counts reflected distinct outer groups rather than distinct subjects.
Both were regressions introduced by the 1.3.2 internal refactor, with the same root cause: an environment read that no longer inherited from the parent, failing silently rather than erroring.
Full Changelog: v1.3.2...v1.4.0
1.3.2
Tplyr 1.3.2
Internal Changes
- Refactored internal functions to eliminate
evalq()usage and adopt the Extract-Process-Bind pattern, improving code clarity and maintainability without affecting user-facing functionality - Performance optimizations for nested count layers using vectorized operations (~2.4x speedup)
- Optimized count formatting and
prepare_format_metadata()internals - Removed unused un-exported functions to reduce code base size
- Updated GitHub Actions workflows
Bug fixes
- Resolve #202 Fix VARN sorting for nested count layers
- Resolve #193 Fix
str_extract_num()to properly identify negative numbers - Resolve #186 Update vignettes to reset options back to defaults to avoid CRAN inconsistencies
- Resolve #184 Don't remove units attribute of difftime when cleaning data on pre-process
- Resolve #182 Fix error when adding multiple risk difference comparisons at once with NAs in two-way matrix
- Resolve #183 Insert row breaks between layers without removing duplicated
Tplyr 1.2.1
Release 1.2.1 is a quick patch follow up to 1.2.0
Tplyr 1.2.1
- Resolve #178 to add metadata handling for missing subjects, and add the
add_anti_join()function
Tplyr 1.2.0
- Resolve #62 Add data vignette data into the package (thanks for the suggestion @thebioengineer)
- Resolve #74 Add an example of piping in set_pop_data
- Resolve #83 Add the
add_missing_subjects()function - Resolve #84 Add
set_limit_data_by()function - Resolve #111, #148 Allow ellipsis argument unpacking outside of
add_layer() - Resolve #129 Add
collapse_row_labels()function - Resolve #134 Clarify how population data works to trigger denominators
- Resolve #75, #146, #166 Fix nested count layer handling where one inner layer value exists in multiple outer layer groups
- Resolve #21, #152 Fix handling of Inf, -Inf in desc layer for min and max
- Resolve #154 Fix namespace scoping for execution of Tplyr tables within non-global environments
- Resolve #155 Dead code clean-up
- Resolve #170 Add
replace_leading_whitespace()post-processing function - Resolve #173 Fix nested count layer sort variable behavior when using by variables
Thank you to @asbates @ShiyuC @alexhomel @om9391 @elimillera
Tplyr 1.1.0
What's Changed
- Fix custom metadata vignette #113 and increment dev version by @mstackhouse in #114
- Gh issue 115 by @mstackhouse in #116
- Add Scrollbar for Articles by @mattroumaya in #119
- Issue #117 - Add Parenthesis Hugging by @mstackhouse in #118
- Update snapshots for current package versions by @mstackhouse in #121
- 1.1.0 Release by @mstackhouse in #120
- Update workflow versions by @elimillera in #122
New Contributors
- @mattroumaya made their first contribution in #119
Full Changelog: v1.0.2...v1.1.0
Tplyr 1.0.2
What's Changed
- closes #99 closes #101 doc: fix typo in multiple files by @sadchla-codes in #100
- Closes #103 Closes#104 tplyr reference update@devel by @sadchla-codes in #105
- Update logic for determining denom_where by @elimillera in #107
- Introduce bug fix for #106 to prepare for CRAN release by @mstackhouse in #108
- Update pkgdown.yaml by @elimillera in #109
- Update pkgdown workflow by @mstackhouse in #110
New Contributors
- @sadchla-codes made their first contribution in #100
Full Changelog: v1.0.1...v1.0.2
Tplyr 1.0.1
- Fixes an issue with revdeps
What's Changed
- Update pkgdown action to use main by @elimillera in #94
- Gh issue 95 by @mstackhouse in #96
- Devel by @elimillera in #97
Full Changelog: v1.0.0...v1.0.1
Tplyr 1.0.0
Tplyr 1.0.0
- New features
- Introduction of traceability metadata framework #32
- Framework for creating re-usable layer templates #66
- Native pipe compatibility #33
- Automatically load magrittr pipe #22
- Refactor of count layer programming #28
- Allow external precision data for desc layers #27
- Allow denominators within count layers as formattable values #11
- Descriptive statistics layers allow stats as columns #37
- New experimental function
set_numeric_threshold() - Apply f_str's outside of a Tplyr table with new function
apply_formats()#57 - New post processing function helper
str_indent_wrap()for hyphen-enabled string wrapping #59
- Bug fixes
- Fix errors in partially provided precision caps #20