Я пытаюсь использовать функцию curve3d
в emdbook
-package, чтобы создать контурный график функции, определенной локально внутри другой функции, как показано в следующем минимальном примере:
library(emdbook)
testcurve3d <- function(a) {
fn <- function(x,y) {
x*y*a
}
curve3d(fn(x,y))
}
Неожиданно это порождает ошибку
> testcurve3d(2)
Error in fn(x, y) : could not find function "fn"
тогда как одна и та же идея отлично работает с более базовой функцией curve
base
-package:
testcurve <- function(a) {
fn <- function(x) {
x*a
}
curve(a*x)
}
testcurve(2)
Вопрос в том, как curve3d
может быть переписана так, что она ведет себя так, как ожидалось.