Я пытаюсь создать простую функцию, которая позволяет рисовать ggvis
график. Я знаю, что здесь я должен использовать нестандартную оценку, поэтому я использую функцию intercept
пакета lazyeval
:
test_fn <- function(data,xvar, yvar){
plot <-
data %>%
ggvis(lazyeval::interp(~x, x = as.name(xvar)),
lazyeval::interp(~y, y = as.name(yvar))) %>%
layer_points()
return(plot)
}
ИЗМЕНИТЬ:
Эта функция работает нормально:
test_fn(mtcars,'mpg', 'qsec')
Но что я должен сделать дополнительно, чтобы данная команда работала:
test_fn(mtcars,mpg, qsec)
test_fn(mtcars, "mpg", "wt")
строит график. Попробуйте включить в свой вопрос воспроизводимый пример. - person aosmith   schedule 04.01.2016prop
из ggvis для такого рода задач вместоlazyeval::interp
. Это будет выглядеть, например, какggvis(prop("x", as.name(xvar)), prop("y", as.name(yvar)))
, но дополнительные примеры см. на странице справки. - person aosmith   schedule 04.01.2016