Я пытаюсь написать функцию tidyeval, которая принимает числовой столбец, заменяет значения выше определенного limit
значением для limit
, превращает этот столбец в фактор и затем заменяет уровень фактора, равный limit
с уровнем под названием "limit +".
Например, я пытаюсь заменить любое значение выше 3 в sepal.width на 3, а затем переименовать этот фактор в 3+
.
В качестве примера, вот как я пытаюсь заставить его работать с набором данных iris.Однако функция 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)