cls; /* Examples of Procedures in GAUSS */ // some data x1=rndn(100,1); y=ones(100,1)+x1+rndn(100,1); somedata = y~ones(100,1)~x1; // How to execute Procedures //mx1= mymeans(x1); // betahat=myols(somedata); {b1,res,s2}=myols2(somedata); // Procedures // 1 . reproducing meanc function proc mymeans(data); local n; n=rows(data); retp(sumc(data)/n); endp; // 2. OLS estimation : coefficients proc myols(data); local k,y,x,bols; k=cols(data); y=data[.,1]; x=data[.,2:k]; bols=inv(x'x)*x'y; retp(bols); endp; // 3. OLS estimation: coefficients, residuals and s2 proc(3) = myols2(data); local k,y,x,bols,e,s2,n; k=cols(data); n=rows(data); y=data[.,1]; x=data[.,2:k]; bols=inv(x'x)*x'y; e=y-x*bols; s2=e'e/(n-k); retp(bols,e,s2); endp;