<>
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'
}
*************
HTH
Martin
-----Ursprüngliche Nachricht-----
Von: [email protected]
[mailto:[email protected]] Im Auftrag von
[email protected]
Gesendet: Dienstag, 4. August 2009 12:14
An: [email protected]
Betreff: st: Using svy with by
Hi all,
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);
Regards,
A
Please access the attached hyperlink for an important electronic
communications disclaimer:
http://www.lse.ac.uk/collections/secretariat/legal/disclaimer.htm
*
* For searches and help try:
* http://www.stata.com/help.cgi?search
* http://www.stata.com/support/statalist/faq
* http://www.ats.ucla.edu/stat/stata/
*
* For searches and help try:
* http://www.stata.com/help.cgi?search
* http://www.stata.com/support/statalist/faq
* http://www.ats.ucla.edu/stat/stata/