program define tryls version 4.0 preserve clear set obs 20 gen x=invnorm(uniform()) gen y=invnorm(uniform()) local int=0 local slope=1 lsfit x y di $slope di $int regress y x restore end program define lsfit version 4.0 local x = "`1'" local y = "`2'" tempvar z qui summarize `x' local xbar=_result(3) local sxx =_result(4)*(_N-1) di `xbar' qui summarize `y' local ybar=_result(3) gen `z'=(`x'-`xbar')*(`y'-`ybar') replace `z'=sum(`z') local sxy=`z'[_N] global slope = `sxy'/`sxx' global int = `ybar'-$slope*`xbar' end exit