2017-04-26 7 views
3

私は "新しい" tidyverse ecosystemへの切り替えを試みており、Wickhamからの古いパッケージのロードを避けようとしています。以前は自分のコーディングに頼っていました。私はround_anyの機能をplyrから見つけました。多くの場合、私はプロット、テーブルなどのカスタム丸めが必要でした。dplyrに相当する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 

tidyverseでplyrパッケージからround_any機能の等価はありますか?

+2

になり、デフォルトの丸め方法、(到着するdplyr溶液)まで、カスタムの交換ですが、この関数は、この場合には、非常に簡単です床(x/0.1)×0.1 'である。パッケージの読み込みを避けるには、 '::'表記: 'plyr :: round_any'を使います。 – Axeman

+2

これは 'ggplot2 :: cut_width'に置き換えられたようです。 https://github.com/tidyverse/ggplot2/releases/tag/v2.0.0をご覧ください。 – FlorianGD

答えて

3

ggplot::cut_widthコメントの1つで指し示されているように、数値ベクトルも返さず、代わりに因子を返します。だから本当の代理人ではありません。 `

round以来

なくfloorはありません

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