*! version 3.0.0 PR 14-Feb-94. STB-18: sg22 * Update of _glmilnk (sg16.3). Calcs inverse link (mu). program define _jprglil version 3.1 local eta `1' local mu `2' local pow `3' local k `4' local small 1e-6 local l $S_E_link cap gen `mu'=. /* in case it doesn't exist */ if "`l'"=="pow" { if abs(`pow')<`small' { replace `mu' = exp(`eta') } else if abs(`pow'-1)>`small' { replace `mu' = `eta'^(1/`pow') } else replace `mu' = `eta' exit } local f $S_E_fam if "`f'" == "bin" { if "`l'" == "l" { replace `mu' = 1/(1+exp(-`eta')) } else if "`l'" == "p" { replace `mu' = normprob(`eta') } else if "`l'" == "c" { replace `mu' = 1-exp(-exp(`eta')) } else if "`l'"=="opo" { if abs(`pow')<`small' { replace `mu' = 1/(1+exp(-`eta')) } else if abs(`pow'-1)>`small' { replace `mu' = 1/(1+(1+`eta'*`pow')^(-1/`pow')) } else replace `mu' = (1+`eta')/(2+`eta') } } else if "`f'" == "poi" { replace `mu' = exp(`eta') } else if "`f'" == "gam" { replace `mu' = 1/`eta' } else if "`f'" == "ivg" { replace `mu' = 1/sqrt(`eta') } else if "`f'" == "nb" { replace `mu' = `k'/(exp(-`eta')-1) } end