wrapr 1.5.0 available on CRAN
[This article was first published on R – Win-Vector Blog, and kindly contributed to R-bloggers]. (You can report issue about the content on this page here)
Want to share your content on R-bloggers? click here if you have a blog, or here if you don't.
Want to share your content on R-bloggers? click here if you have a blog, or here if you don't.
The R
package wrapr 1.5.0 is now available on CRAN.
wrapr includes a lot of tools for writing better R
code:
let()
(let block)%.>%
(dot arrow pipe)build_frame()
/draw_frame()
(data.frame
builders and formatters )qc()
(quoting concatenate):=
(named map builder)%?%
(coalesce) NEW!%.|%
(reduce/expand args) NEW!uniques()
(safeunique()
replacement) NEW!partition_tables()
/execute_parallel()
NEW!DebugFnW()
(function debug wrappers)λ()
(anonymous function builder)
I’ll be writing articles on a number of the new capabilities. For now I just leave you with the nifty operator coalesce notation.
Coalesce takes values from its arguments in left to right order taking the first non-NA
value (if any available):
NA %?% 5 # [1] 5 1 %?% 5 # [1] 1 5 %?% NA # [1] 5
For vectors each position is calculated independently, and scalars are re-cycled to vector sizes. This allows fairly complicated coalesce strategies (such as take from first two vectors if possible, else write in zero) to be expressed very succinctly:
vec1 <- c(1, 2, NA, NA) vec2 <- c(10, NA, 20, NA) vec1 %?% vec2 %?% 0 # [1] 1 2 20 0
To leave a comment for the author, please follow the link and comment on their blog: R – Win-Vector Blog.
R-bloggers.com offers daily e-mail updates about R news and tutorials about learning R and many other topics. Click here if you're looking to post or find an R/data-science job.
Want to share your content on R-bloggers? click here if you have a blog, or here if you don't.