library(tidyverse)
xy <- data.frame(xvar = 1:10, yvar = 1:10)
plotfunc <- function(data, x, y){
print(
ggplot(data, aes_(x = substitute(x), y = substitute(y))) +
geom_line()
)
}
plotfunc(xy, xvar, yvar)
Функция выше работает нормально.Функция ниже не делает.Как мне сделать правильные задания, показанные ниже?Я знаю, что они на самом деле ничего не делают, но я все равно не хочу корректировать свой синтаксис.
plotfunc <- function(data, x, y){
rng <- range(substitute(x), na.rm = TRUE)
rescale <- (substitute(x) - rng[1]) / (rng[2] - rng[1])
print(
ggplot(data, aes_(x = substitute(x), y = substitute(y))) +
geom_line()
)
}
plotfunc(xy, xvar, yvar)