limit
数値列を取り、特定の値を超える値を の値に置き換えlimit
、その列を因子に変換し、因子レベルをlimit
「制限+」と呼ばれるレベルに置き換えるtidyeval 関数を作成しようとしています。
たとえば、sepal.width の 3 を超える値を 3 に置き換え、その因子レベルの名前を に変更しようとしています3+
。
例として、アイリス データセットで動作させる方法を次に示します。ただし、fct_recode() 関数は因子レベルの名前を適切に変更していません。
plot_hist <- function(x, col, limit) {
col_enq <- enquo(col)
x %>%
mutate(var = factor(ifelse(!!col_enq > limit, limit,!!col_enq)),
var = fct_recode(var, assign(paste(limit,"+", sep = ""), paste(limit))))
}
plot_hist(iris, Sepal.Width, 3)