I am trying to make a switch to the "new" tidyverse
ecosystem and try to avoid loading the old packages from Wickham et al. I used to rely my coding previously. I found round_any
function from plyr useful in many cases where I needed custom rounding for plots, tables, etc. E.g.
x <- c(1.1, 1.0, 0.99, 0.1, 0.01, 0.001)
library(plyr)
round_any(x, 0.1, floor)
# [1] 1.1 1.0 0.9 0.1 0.0 0.0
Is there an equivalent for round_any
function from plyr package in tidyverse
?
ggplot2::cut_width
as pointed to in one of the comments, does not even return a numeric vector, but a factor instead. So it is no real substitute.
Since round
and not floor
is the default rounding method, a custom replacement until a (dplyr solution may arrive) would be
round_any = function(x, accuracy, f=round){f(x/ accuracy) * accuracy}
This method could also be used directly from the plyr package which contains this implementation. However, be careful when loading plyr
into a workspace which will cause naming conflicts when using dplyr as well.