*! version 1.1 22 September 1992 (STB-10: sg13) program define atkinson version 3.0 mac def _varlist "opt ex min(2)" mac def _if "opt" mac def _in "opt" parse "%_*" parse "%_varlist", parse(" ") local lhs="`1'" mac shift local rhs "`*'" tempvar VAR VAR2 qui gen double %_VAR = %_lhs %_if %_in quietly sum %_VAR qui gen double %_VAR2=log(%_VAR) qui summarize %_VAR2 local gm = exp(_result(3)) drop %_VAR %_VAR2 qui gen lambda1=`lhs'*(log(`lhs'/`gm')-1)+log(`gm')+1 la var lambda1 "Atkinson's var. for score test" qui fit `lhs' `rhs' lambda1 `if' `in' di "score test for whether should transform `lhs': t = "%7.3f /* */ _b[lambda1]/_se[lambda1] " p-value: " %5.4f tprob(_result(5),_b[lambda1]/_se[lambda1]) di "if above significant, transform `lhs' using "%6.3f 1-_b[lambda1] /* */ " (round to " round(1-_b[lambda1],.5) ")" drop lambda1 end