# rm(list=ls())
options(OutDec = ",")
#==============================================================================
# Exemplo:
# Consumo e renda agregados dos EUA entre 2000 e 2009
#==============================================================================
# Modelo:
# Consumo(y) = beta0 + beta1 Renda(x) + epsilon
#==============================================================================
dados <- read.table("../dados/d01_consumo.txt",header=T,sep=",")
x <- dados[,2]
y <- dados[,3]
print(head(dados))
Year X C 1 2000 8559,4 6830,4 2 2001 8883,3 7148,8 3 2002 9060,1 7439,2 4 2003 9378,1 7804,0 5 2004 9937,2 8285,1 6 2005 10485,9 8819,0
#==============================================================================
# Grafico de dispersao
#==============================================================================
par(mfrow=c(1,1),lwd=2.0,cex.lab=1.5,cex.axis=1.1,lab=c(8,8,5),
mar=c(4.5,4.5,1,1),xpd=T,cex.main=2.0)
plot(x,y,pch=15,xlab="Renda pessoal",ylab="Consumo pessoal",lwd=3,
xlim=c(8500,12500),ylim=c(6500,10500))
lines(x,lm(y~x)$fitted)
text(x[1]+200,y[1],"2000")
text(x[2]+200,y[2],"2001")
text(x[3]-200,y[3],"2002")
text(x[4]-200,y[4],"2003")
text(x[5]-200,y[5],"2004")
text(x[6]-200,y[6],"2005")
text(x[7]+200,y[7],"2006")
text(x[8]+200,y[8],"2007")
text(x[9]-400,y[9]-50,"2008")
text(x[10]+400,y[10],"2009")
#==============================================================================
# A funcao 'lsfit' faz ajuste de minimos quadrados.
# Entretanto, recomenda-se o uso da funcao 'lm' por ser mais completa.
# Aqui estamos interessados somente nos coeficientes.
#==============================================================================
print(lsfit(x,y)$coef)
print(lm(y ~ x )$coef)
Intercept X -587,1854878 0,8826875 (Intercept) x -587,1854878 0,8826875