Hello everyone, i have an issue with a loop. I got this from Hilbe's book "modeling count data". I'm trying to test overdispersion with predicted vs observed values. The while command isnt working. Please help
Code:
qui num_psex edad_inicio binoh nse, fam(poisson)
predict mu
count
gen nobs = e(N)
local i 0
local newvar "pr`i'"
* Predicted probability at each day
while `i' <=25 {
local newvar "pr`i'"
qui gen ’newvar’ = poissonp(mu, `i')
local i = `i' + 1
}
quietly gen cnt = .
quietly gen observ = .
quietly gen expect = .
local i 0`'
*Observed and expected docvis
while `i' <=99 {
local obs = `i' + 1
replace cnt = `i' in ’obs’
tempvar obser
gen `obser' = `e(depvar)' ==`i' /* (docvis==’i’) */
sum `obser'
replace observ = r(mean)* nobs in `obs'
sum pr`i'
replace expect = r(mean)* nobs in `obs'
local i = `i' + 1
}
*Preparation for table
gen byte count = cnt
gen diff = observ - expect
drop cnt pr0-pr25 nobs mu
list count observ expect diff in 1/21
lab var expect "Expected days"
lab var observ "Observed days"
label var count "Number visits to Physician"
twoway scatter expect observ count, c(l l) ms(T d)
<=99 invalid name
Thank you very much.