Releases: rossellhayes/incase
Releases · rossellhayes/incase
Version 0.3.2
- Accept named arguments with or without preceding dots, e.g.
default
or.default
(#5). - Take
default
into account when determining the class of output (#5). - Fix bug where replacement would fail if a condition evaluated to a vector made up of both
NA
s andFALSE
s with noTRUE
s. - Improve error messages (#5).
- No longer rely on deprecated
plu
functions (#4).
Version 0.3.1
- Fixed bug where
*_case()
would returnNULL
if no conditions wereTRUE
. - Added
tibble
to suggested packages.
Version 0.3.0
New features
-
Added
*_case_fct()
family of functions- These work the same as their
*_case()
equivalents, but return factors - Factor levels are determined by the order of case statements.
in_case_fct(x < 10 ~ "Low", x < 20 ~ "Medium", default = "High")
returns a factor with levels"Low"
,"Medium"
, and"High"
.
- These work the same as their
-
Added
*_case_list()
family- These work the same as their
*_case()
equivalents, but return lists - This allows the functions to return complex data types that would otherwise
be broken by automatic type conversion.
- These work the same as their
-
Implemented lazy-ish evaluation of outputs.
- If the LHS of a formula is never true, the RHS is not evaluated.
- However, the RHS is still evaluated for all inputs if any input is TRUE.
- If
condition
inif_case()
never takes one of the three logical values,
the corresponding output is not evaluated.
- If the LHS of a formula is never true, the RHS is not evaluated.
Bug fixes
if_case()
no longer produces an error ifcondition
is onlyNA
.
Version 0.2.1
- Fixed NOTE by removing unnecessary import of
stats
. - Uses latest version of plu for more informative error messages.
Version 0.2.0
- Added
grep_case()
which works similarly toswitch_case()
but uses pattern matching instead of exact matching. - Added
fn_case()
which applies a function to the input and each formula's left-hand side to create the logical vectors used byin_case()
. - Added
fn_switch_case()
which applies a function to the left-hand side of each formula to create the vectors used byswitch_case()
.
Version 0.1.0
- Initial CRAN release