round_dplyr 有等价物吗?

问题描述 投票:0回答:1

我正在尝试切换到“新”

tidyverse
生态系统并尝试避免从Wickham 等人加载旧包。我以前依赖于我的编码。我发现 plyr
 中的 
round_any 函数在许多情况下都很有用,在这些情况下我需要对绘图、表格等进行自定义舍入。

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

round_any
中的 plyr 包中的
tidyverse
函数是否有等效项?

r dplyr rounding plyr tidyverse
1个回答
44
投票
正如评论之一所指出的,

ggplot2::cut_width
甚至不返回数字向量,而是返回一个因子。所以它并不是真正的替代品。

由于

round
而不是
floor
是默认舍入方法,因此自定义替换直到(dplyr 解决方案可能到达)将是

round_any = function(x, accuracy, f=round){f(x/ accuracy) * accuracy}

此方法也可以直接从包含此实现的 plyr 包中使用。但是,将

plyr
加载到工作区时要小心,这也会在使用 dplyr 时导致 命名冲突。

© www.soinside.com 2019 - 2024. All rights reserved.