[mailto:[email protected]] Im Auftrag von Austin Nichols
ssc install _gwtmean
sysuse auto
egen m=wtmean(price), by(rep78) weight(weight)
On Tue, Aug 4, 2009 at 7:16 AM, Martin Weiss<[email protected]> wrote:
<>
Apart from other problems, you are treating -mean- as if it was a
function.
You have to -generate- the mean estimate first, and then do the -replace-
separately...
Note the difference:
*************
sysuse auto, clear
by f: gen mean=mean(pr)
*************
*************
sysuse auto, clear
gen meanpr=.
levelsof for, loc(myfor)
foreach lev in `myfor'{
su pr if for==`lev', mean
replace meanpr=`r(mean)' if for==`lev'
}
*************
I'm trying to find a way around a problem. The code below results in an
error since svy cannot by combined with by. I cannot think of another way
to
get the equivalent result I need, however, since the mean I'm attempting
to
calculate must be run using svy.
Any ideas?
Code:
foreach varname of varlist `PAYMENTVARS' {
generate `varname'PANAVG = 0
by DUPERSID PURCHRD, sort: svy: replace `varname'PANAVG = mean(`varname')
by DUPERSID PURCHRD: keep if _n==_N
drop `varname'
}
Error:
svy may not be combined with by
r(190);