Я хочу параметризовать следующее вычисление, используя dplyr
, который находит, какие значения Sepal.Length
связаны с более чем одним значением Sepal.Width
:
library(dplyr)
iris %>%
group_by(Sepal.Length) %>%
summarise(n.uniq=n_distinct(Sepal.Width)) %>%
filter(n.uniq > 1)
Обычно я писал бы что-то вроде этого:
not.uniq.per.group <- function(data, group.var, uniq.var) {
iris %>%
group_by(group.var) %>%
summarise(n.uniq=n_distinct(uniq.var)) %>%
filter(n.uniq > 1)
}
Однако этот подход вызывает ошибки, поскольку dplyr
использует нестандартную оценку. Как записать эту функцию?