进行boxcox回归时,开始一切正常。直到画转换后的回归图时提示出错
dat<-read.csv("e:/p078.csv")
#View(dat)
lm.sol<-lm(y~x,data=dat)
summary(lm.sol)
library(MASS)
op<-par(mfrow=c(2,2),mar=.4+c(4,4,1,1),oma=c(0,0,2,0))
plot(fitted(lm.sol),resid(lm.sol),cex=1.2,pch=21,col='red',bg='orange',xlab='fitted value',ylab='residuals')#第一张图,预测值与残差散点图
boxcox(lm.sol,lambda=seq(0,1,len=10))#第二张图,确定lambda
lambda=0.55
ylam<-(dat$y^lambda-1)/lambda
lm.lam<-lm(ylam~dat$x)
summary(lm.lam)
plot(fitted(lm.lam),resid(lm.lam),cex=1.2,pch=21,col='red',bg='orange',xlab='fitted value',ylab='residuals')#第三张图,预测值与变换后进行回归的残差之间的散点图
beta0<-lm.lam$coefficients[1]
beta1<-lm.lam$coefficients[2]
curve((1+lambda*(beta0+beta1*dat$x))^(1/lambda),from=min(dat$x),to=max(dat$x),col='blue',lwd=2,xlab='x',ylab='y')#第四张图,回归曲线和相应是散点
就是这一步发生错误,说“expr did not evaluate to an object of length n”
points(dat$x,dat$y,cex=1.2,pch=21,col='red',bg='orange')
mtext('box-cox transfoemation',outer=TRUE,cex=1.5)
par(op)


雷达卡





京公网安备 11010802022788号







