我想在 R 中生成一个 3D 表面,其中 y 是通量,x
是年龄,z
是降水。我的年龄范围在 0 到 152 之间,降水范围在 0 到 2600 之间。
我还有两个函数,其中通量是年龄或降水的函数:
Flux= 0.387217066*(Age^0.328086337)*(exp(-0.004177033*Age)
和
Flux= 1.117997*(1-exp(-exp(-5.426564)*(Preci-(-220.745499))
我想要实现的是有点像这样:
我试图用plot3D
R 中的包来做,但没有成功(见下文)
Age<- as.matrix(seq(0:152))
Preci<-as.matrix(seq(from=10, to=2600, by=17))
Flux= as.matrix(0.387217066*(Age^0.328086337)*(exp(-0.004177033*Age)) - 1.117997*(1-exp(-exp(-5.426564)*(Preci-(-220.745499)))))
surf3D(Age, Preci, Flux, colvar = Flux, colkey = FALSE, facets = FALSE)
我收到此错误消息
Error in if (is.na(var)) ispresent <- FALSE else if (length(var) == 1) if (is.logical(var)) if (!var) ispresent <- FALSE :
argument is of length zero