程序如下
captu prog drop bino
prog bino
args N p
local i=0
local k=0
while `k'<`N'{
local i=`i'+(Binomial(`N',`k',`p')-Binomial(`N',`k'+1,`p'))*abs(`k'/`N'-`p')
local k=`k'+1
}
gen hm=`i'
end
clear all
cap pr drop bino
pr bino
args N p
g hm=.
forv j=1/`=_N'{
loc i=0
forv k=0/`=`N'[`j']-1'{
loc i=`i'+(binomial(`N'[`j'],`k',`p'[`j'])-binomial(`N'[`j'],`k'+1,`p'[`j']))*abs(`k'/`N'[`j']-`p'[`j'])
}
replace hm=`i' in `j'
}
end