Я хочу создать пользовательскую функцию с пакетом highcharter
, так как мне приходится рисовать много диаграмм, где меняется только всплывающая подсказка.
Это работает:
library(dplyr)
library(highcharter)
highchart() %>%
hc_chart(zoomType = "x") %>%
hc_add_series(data = mtcars, type = "bar", hcaes(y = mpg))
Это не так:
barchartfunction1 <- function(df, yvar) {
highchart() %>%
hc_chart(zoomType = "x") %>%
hc_add_series(data = df, type = "bar", hcaes(y = yvar))
}
barchartfunction1(mtcars, yvar = mpg)
Error in mutate_impl(.data, dots) : Binding not found: yvar.
Called from: mutate_impl(.data, dots)
Я был почти уверен, что это связано с нестандартной оценкой в Highcharter, поэтому я попыталсяэто:
barchartfunction2 <- function(df, yvar) {
yvar <- enquo(yvar)
highchart() %>%
hc_chart(zoomType = "x") %>%
hc_add_series(data = df, type = "bar", hcaes(y = !!yvar))
}
Column `y` is of unsupported type quoted call
Called from: mutate_impl(.data, dots)
Хорошо, Highcharter не нравится цитируемый вызов ... Это неправильный путь?Здесь нет NSE?Кто-нибудь может мне помочь с этой проблемой?