<>
" Incidentally, Martin's code
. by f: gen mean=mean(pr)
contains a typo. Use -egen-, not -gen-."
It was fully intended this way to show the poster that it leads to an
error....
HTH
Martin
-----Ursprüngliche Nachricht-----
Von: [email protected]
[mailto:[email protected]] Im Auftrag von Nick Cox
Gesendet: Dienstag, 4. August 2009 15:40
An: [email protected]
Betreff: Re: AW: st: AW: Using svy with by
_gwtmean is a package from SSC by David Kantor. It is documented briefly
(and sufficiently) in the package description
. ssc desc _gwtmean
and at greater length within the code
. ssc type _gwtmean.ado
Incidentally, Martin's code
. by f: gen mean=mean(pr)
contains a typo. Use -egen-, not -gen-.
Nick
Martin Weiss wrote:
> Is this thing documented anywhere? Does not seem to supply a help file...
> [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'
>> }
>> *************
[email protected]
>> 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);
*
* 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/