使用定义的函数时,R 中的等高线图失败

Contour plot fails in R when using a defined function

我正在尝试在 R 中生成以下函数的等高线图,

其中 Y_{t-1} 和 Y_{t-2} 的值介于 -1 和 1 之间,e_t 服从均值为 0 标准差为 .2 的正态分布,即 e_t~N(0,.2).

我已经设置了代码来处理函数以及计算 y_t 的值,但是我遇到了以下两个问题。

  1. 在 R 中定义 contour() 函数时,我在设置 z 值时遇到问题,并且输出不正确。

  2. 当我尝试使用 filled.contour() 填充颜色时,出现“seq.default(0, 1, length.out = ncol( z)) : argument 'length.out' must be of length 1" 错误,我不确定如何解决它。

最后,我想获得如下图或类似的等高线图,

下面我提供了一些我一直在闲逛的示例代码,它只生成一个简单的等高线图,其中函数 y_t 未正确定义。

y_1<-seq(-1,1, 0.05)
y_2<-seq(-1,1, 0.05)
e_1<-rnorm(length(y_1), mean=0, sd=.2)
y_t<-0.8*y_1-0.5*y_2+(-1.6*y_1+y_2)*(1+exp(-10*y_1))^(-1)+e_1
z=outer(y_1,y_2)
Cont_test<-contour(y_1,y_2,z)
filled.contour(Cont_test)

感谢您提前的帮助。

我不确定你是否想要那里的噪音,因为它会混淆等高线图。

set.seed(42)
y_1 <- seq(-1, 1, 0.05)
y_2 <- seq(-1, 1, 0.05)
y_t <- function(y_1, y_2) {
  0.8 * y_1 - 0.5 * y_2 + (-1.6 * y_1 + y_2) * (1 + exp(-10 * y_1)) ^ (-1) +
    rnorm(length(y_1), mean = 0, sd = .2)
}
z <- outer(y_1, y_2, y_t)
filled.contour(y_1, y_2, z)

没有噪音: