*! STB-18: sg16.5 program define _glmwgt local fam `1' local link `2' local eta `3' local mu `4' local w `5' local pow `6' local k `7' local touse `8' local disp `9' if ("`link'"=="pow") { if `pow'== 0 { replace `w' = `mu'*`disp' if `touse' } else { replace `w' = 1/(`pow'*`mu'^(`pow'-1))*`disp' if `touse'} exit } if "`fam'" == "bin" { if "`link'" == "l" { replace `w' = `mu'*(1-`mu')*`disp' if `touse'} if "`link'" == "p" { replace `w' = 1/(sqrt(2*_pi)*exp(-`eta'^2/2))*`disp' if `touse'} if "`link'" == "c" { replace `w' = exp(`eta')*exp(- exp(`eta'))*`disp' if `touse'} } if "`fam'" == "poi" { replace `w' = `mu'* `disp' if `touse' } if "`fam'" == "gam" { replace `w' = `mu'^2 * `disp' if `touse'} if "`fam'" == "ivg" { replace `w' = `mu'^3 * `disp' if `touse'} if "`fam'" == "nb" { replace `w' = (`mu' + `k'*`mu'*`mu') * `disp' if `touse' } end