代码之家  ›  专栏  ›  技术社区  ›  Ray Tayek

如何用r中的一个连续预测因子和一个因子预测因子绘制回归曲面?

  •  0
  • Ray Tayek  · 技术社区  · 6 年前

    尝试对一个连续预测因子和一个因素预测因子进行回归分析。

    在abline中(型号[[i]],颜色=标签颜色[i],lty=2:4): 仅使用3个回归系数中的前两个),并为logit和loglog模型绘制一组直线。

    f<-function() {
        set.seed(123)
        colors<-c("red","green")
        labelColors<-c("black","cyan","magenta")
        x<-runif(100,0,1)
        f<-round(runif(100,0,.75))
        noise<-rnorm(length(x),0,.5)
        y<-(1+3*x+f/2+noise)/6
        plot(x,y,xlab="",ylab="")
        title("test")
        plot(x[f==0],y[f==0],ylim=c(0,1),col=colors[1])
        points(x[f==1],y[f==1], ylim=c(0.,1.),col=colors[2])
        title("test",sub="factor")
        m<-lm(y~x+factor(f),na.action=na.omit)
        logit<-betareg(y~x+factor(f),na.action=na.omit)
        loglog<-betareg(y~x+factor(f),na.action=na.omit,link="loglog")
        models<-list(m,logit,loglog)
        for(i in 1:length(models)) {  
            if(is(models[[i]],"lm")) {
                if(F) lines(x,predict(models[[i]]),col=labelColors[i],lty=2:4)
                else abline(models[[i]],col=labelColors[i],lty=2:4)
            }
            else lines(x,predict(models[[i]]),col=labelColors[i],lty=2:4)
        }
        for(i in 1:length(models))
            print(models[[i]])
        }
    f()
    
    0 回复  |  直到 6 年前