library(rgl)
#预测脚本
predictgrid<-function(model,xvar,yvar,zvar,res=16,type=NULL){
xrange<-range(model$model[[xvar]])
yrange<-range(model$model[[yvar]])
newdata<-expand.grid(x=seq(xrange[1],xrange[2],length.out=res),
y=seq(yrange[1],yrange[2],length.out=res))
names(newdata)<-c(xvar,yvar)
newdata[[zvar]]<-predict(model,newdata=newdata,type=type)
newdata
}
#x,y,z转为列表
df2mat<-function(p,xvar=NULL,yvar=NULL,zvar=NULL){
if(is.null(xvar)) xvar<-names(p)[1]
if(is.null(yvar)) yvar<-names(p)[2]
if(is.null(zvar)) zvar<-names(p)[3]
x<-unique(p[[xvar]])
y<-unique(p[[yvar]])
z<-matrix(p[[zvar]],nrow=length(y),ncol=length(x))
m<-list(x,y,z)
names(m)<-c(xvar,yvar,zvar)
m
}
#交错出现两个向量元素
interleave<-function(v1,v2) as.vector(rbind(v1,v2))
m<-mtcars
mod<-lm(mpg~wt+disp+wt:disp,data=m)
m$pred_
R语言 绘制三维散点图的预测曲面
最新推荐文章于 2024-04-12 20:03:30 发布