############################################################################################ # # SIMPLE LINEAR REGRESSION WITH NORMAL ERRORS # ############################################################################################ # # HEDIBERT FREITAS LOPES # Associate Professor of Econometrics and Statistics # The University of Chicago Booth School of Business # 5807 South Woodlawn Avenue # Chicago, Illinois, 60637 # Email : hlopes@ChicagoBooth.edu # URL: http://faculty.chicagobooth.edu/hedibert.lopes/research/ # ############################################################################################ # Dataset: National Longitudinal Survey of Youth dataset data = matrix(scan("logwages-yearseducation.txt"),byrow=TRUE,ncol=2) n = nrow(data) y = data[,1] x = data[,2] years = 9:17 means = NULL vars = NULL x1 = NULL y1 = NULL for (year in years){ means = c(means,mean(y[x==year])) vars = c(vars,var(y[x==year])) y1 = c(y1,y[x==year]) x1 = c(x1,x[x==year]) } pdf(file="NLSY.pdf",width=15,height=15) par(mfrow=c(1,1)) hist(y1,breaks=seq(min(y1),max(y1),length=20),xlab="",main="LOG HOURLY WAGE",prob=TRUE) text(1,0.7,"Mean=2.362",cex=2) text(1,0.65,"StDev=0.534",cex=2) xxx=seq(min(y1),max(y1),length=1000) lines(xxx,dnorm(xxx,mean(y1),sqrt(var(y1))),col=2,lwd=2) par(mfrow=c(3,3)) for (year in years){ boxplot(y[x==year],ylim=range(y),outline=FALSE,axes=FALSE,ylab="LOG HOURLY WAGE") box();axis(2) abline(h=mean(y),col=2,lwd=2) title(paste(year," YEARS OF SCHOOLING COMPLETED",sep="")) } par(mfrow=c(1,1)) boxplot(y[x==9], y[x==10], y[x==11], y[x==12], y[x==13], y[x==14], y[x==15], y[x==16], y[x==17],outline=FALSE,ylim=range(y1),names=years,xlab="YEARS OF SCHOOLING COMPLETED",ylab="LOG HOURLY WAGE") plot(x1,y1,xlab="YEARS OF SCHOOLING COMPLETED",ylab="LOG HOURLY WAGE",axes=FALSE,pch=16) axis(2);box();axis(1,at=years) title("(log hourly wage) = 1.1106 + 0.0968*(years of schooling completed)") abline(lm(y1~x1),lwd=3,col=2) text(10,4,"StDev=0.253",cex=2,col=2) text(10,4.2,"StDev=0.534",cex=2,col=4) abline(h=mean(y1),lwd=3,col=4) dev.off()