In [1]:
# rm(list=ls()) 
options(OutDec = ",")
#==============================================================================
# Decomposicao da soma de quadrados
# Modelo: y = beta0 + beta1 x + epsilon
#==============================================================================
x  <-  seq(-0.75,4,0.001)
y  <-  1 + x 

par(mfrow=c(1,1),lwd=2.0,cex.lab=1.5,cex.axis=1.5,lab=c(10,5,5),
    mar=c(0,1,0,2.5),xpd=T,cex.main=2.0)
plot(x,y,type="l",axes=F,xlab="",ylab="",ylim=c(-1,5.75),lwd=3)
axis(1,0:3,c("",expression(bar(x)),expression(x[i]),"x"),col=1,
     lwd=2,lty=1,pos=c(0,0))
axis(2,0:5,c("","",expression(bar(y)),expression(hat(y)[i]),
     expression(y[i]),"y"),col=1,lwd=2,lty=1,pos=c(0,0),las=1)
lines(seq(0,1,length=100),rep(2,100),lty=2)
lines(seq(1,2,length=100),rep(2,100),lty=2,col="red")
text(1.5,1.7,expression(x[i]-bar(x)),lwd=2,cex=1.5,col="red")
lines(seq(0,2,length=100),rep(3,100),lty=2)
lines(rep(1,100),seq(0,2,length=100),lty=2)
lines(rep(2,100),seq(0,2,length=100),lty=2)
lines(rep(2,100),seq(2,3,length=100),lty=2,col="blue")
text(2.42,2.5,expression(b(x[i]-bar(x))),lwd=2,cex=1.5,col="blue")
lines(rep(2,100),seq(3,4,length=100),lty=2,col="darkorange")
text(2.2,3.5,expression(e[i]),lwd=2,cex=1.5,col="darkorange")
points(2,4,pch=16,lwd=2,cex=1.5)
text(2.0,4.3,expression(paste("(",x[i],",",y[i],")")),lwd=2,cex=1.5)
lines(rep(-0.5,100),seq(2,4,length=100),lty=3,col="red")
text(-0.8,3,expression(y[i]-bar(y)),lwd=2,cex=1.5,col="red")
lines(rep(0,100),seq(3,4,length=100),col="darkorange")
text(0.3,3.5,expression(y[i]-hat(y)[i]),lwd=2,cex=1.5,col="darkorange")
lines(rep(0,100),seq(2,3,length=100),col="blue")
text(0.3,2.5,expression(hat(y)[i]-bar(y)),lwd=2,cex=1.5,col="blue")