Использование набора данных diamonds ...
Попытка создать функцию, которая позволит мне наносить или вырезать, или раскрасить по оси X ...
... но сначалаЯ хочу отфильтровать выбранный столбец, чтобы показать только определенное количество уровней.
У меня работает фильтр, но уровни все еще присутствуют ... и они будут отображаться на графике.Мне нужно сделать fct_drop () для выбранного столбца
Пожалуйста, посмотрите код ниже для воспроизводимого примера:
library(tidyverse)
diamonds <- diamonds %>%
mutate(cut = factor(cut),
color = factor(color))
reduce_for_plot <- function(data, column, how_many_levels) {
column2 <- enquo(column)
of_interest <- unique(data[[deparse(substitute(column))]])[1:how_many_levels]
data %>%
filter(!! column2 %in% of_interest)
# here is where I then do some kind of mutate... to fct_drop the selected column
# this line seems to work
# value_to_put_in <- fct_drop(data[[deparse(substitute(column))]])
# but this line doesn't
# data <- data %>%
# mutate(!! column = value_to_put_in)
}
diamonds %>%
reduce_for_plot(color, 1)