在 R 中绘制表面 3D 图的问题
Issue with plotting a surface 3D plot in R
我正在尝试如下绘制 3D 曲面图:
library (emdbook)
params <- c(a0=0.165451439, a1=-0.003771699, a2=-1.319022091, a3= -0.148502307,
p0=4.752635e-11,p1=-2.625385e-07, p2=4.166868e-04, p3=-1.049669e-01)
Age<- as.matrix(seq(0:299))
Preci<-as.matrix(seq(from=10, to=3000, by=10))
curve3d(with(as.list(params),
a0*(exp(a1*Age)) +a2*(exp(a3*Age))*
((p0*Preci^3+p1*Preci^2 + p2*Preci + p3))),
varnames=c("Age","Preci"), xlim=c(0,100), ylim=c(100,3000),
sys3d="rgl")
但是,输出在曲线的开始处给我一个奇怪的形状。有谁知道我做错了什么?我做错了两个功能(年龄和Preci)之间的相互作用吗?
我认为要在功能之间进行交互,需要使用 +
符号而不是 *
符号。因此命令行变为:
library (emdbook)
params <- c(a0=0.165451439, a1=-0.003771699, a2=-1.319022091, a3= -0.148502307,
p0=4.752635e-11,p1=-2.625385e-07, p2=4.166868e-04, p3=-1.049669e-01)
Age<- as.matrix(seq(0:299))
Preci<-as.matrix(seq(from=10, to=3000, by=10))
curve3d(with(as.list(params),
a0*(exp(a1*Age)) +a2*(exp(a3*Age))+
((p0*Preci^3+p1*Preci^2 + p2*Preci + p3))),
varnames=c("Age","Preci"), xlim=c(0,100), ylim=c(100,3000),
sys3d="rgl")
我正在尝试如下绘制 3D 曲面图:
library (emdbook)
params <- c(a0=0.165451439, a1=-0.003771699, a2=-1.319022091, a3= -0.148502307,
p0=4.752635e-11,p1=-2.625385e-07, p2=4.166868e-04, p3=-1.049669e-01)
Age<- as.matrix(seq(0:299))
Preci<-as.matrix(seq(from=10, to=3000, by=10))
curve3d(with(as.list(params),
a0*(exp(a1*Age)) +a2*(exp(a3*Age))*
((p0*Preci^3+p1*Preci^2 + p2*Preci + p3))),
varnames=c("Age","Preci"), xlim=c(0,100), ylim=c(100,3000),
sys3d="rgl")
但是,输出在曲线的开始处给我一个奇怪的形状。有谁知道我做错了什么?我做错了两个功能(年龄和Preci)之间的相互作用吗?
我认为要在功能之间进行交互,需要使用 +
符号而不是 *
符号。因此命令行变为:
library (emdbook)
params <- c(a0=0.165451439, a1=-0.003771699, a2=-1.319022091, a3= -0.148502307,
p0=4.752635e-11,p1=-2.625385e-07, p2=4.166868e-04, p3=-1.049669e-01)
Age<- as.matrix(seq(0:299))
Preci<-as.matrix(seq(from=10, to=3000, by=10))
curve3d(with(as.list(params),
a0*(exp(a1*Age)) +a2*(exp(a3*Age))+
((p0*Preci^3+p1*Preci^2 + p2*Preci + p3))),
varnames=c("Age","Preci"), xlim=c(0,100), ylim=c(100,3000),
sys3d="rgl")