new; /* Sample GAUSS program for Econ 551b, PS1, Question 3 */ /* Hiu Man Chan, Yale University, January 1999 */ output file="ps1q3.out" reset; format/rd,6,4; /* Reading in data */ load x[]="hrsdat.asc"; x=reshape(x,rows(x)/9,9); "";"Total number observations in original data: ";;rows(x); sex=x[.,1]; age=x[.,2]; race=x[.,3]; mstat=x[.,4]; voctrn=x[.,5]; ba=x[.,6]; educ=x[.,7]; earn=x[.,8]; hwkd=x[.,9]; /* Turning inappropriate entries to missing and creating new variables*/ male=(sex.==1).*miss(((sex.==1).or(sex.==2)),0); age=age.*miss((age.<998),0); young=(age.<=30).*miss((age.<998),0); white=(race.==1).*miss((race.<=7),0); married=((mstat.==1).or(mstat.==7).or(mstat.==8)).*miss((mstat.<=8),0); voctrn=(voctrn.==1).*miss(((voctrn.==1).or(voctrn.==5)),0); ba=(ba.==1).*miss(((ba.==1).or(ba.==5)),0); earnpwr=earn./hwkd; @dependent variable@ /* Creating the X matrix of independent variables */ x=ones(rows(male),1)~educ~ba~male~white~married~age; x=x.*miss(hwkd.>=1600,0);@consider only full time workers@ /* Packing out missing data */ tmp=packr(earnpwr~x); earnpwr=tmp[.,1]; x=tmp[.,2:cols(tmp)]; outlier=maxindc(earnpwr); /*taking out the outlier*/ x=x[1:outlier-1,.]|x[outlier+1:rows(x),.]; earnpwr=earnpwr[1:outlier-1,.]|earnpwr[outlier+1:rows(earnpwr),.]; "";"Total number of usable observations: ";;rows(x); "";"Correlation matrix of dependent variables: "; corrx(x[.,2:cols(x)]); /* Now do the estimation */ betaols=inv(x'*x)*(x'*earnpwr); yhat=x*betaols; err=earnpwr-yhat; s2=err'*err/(rows(x)-cols(x));@estimate of variance of error@ sdbeta=sqrt(diag(inv(x'*x)*s2)); tss=sumc((earnpwr-meanc(earnpwr)).^2); ess=sumc((yhat-meanc(yhat)).^2); rsq=ess/tss; "";"Result of OLS Regression:"; "";"Estimates Standard Deviation t-value"; betaols~sdbeta~(betaols./sdbeta); "";"R-squared is: ";;rsq;