Statalist


[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

AW: AW: st: AW: Using svy with by


From   "Martin Weiss" <[email protected]>
To   <[email protected]>
Subject   AW: AW: st: AW: Using svy with by
Date   Tue, 4 Aug 2009 15:54:29 +0200

<> 

" 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/



© Copyright 1996–2024 StataCorp LLC   |   Terms of use   |   Privacy   |   Contact us   |   What's new   |   Site index