Notice: On April 23, 2014, Statalist moved from an email list to a forum, based at statalist.org.
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: st: AW: levelsof problem?
From
joe j <[email protected]>
To
[email protected]
Subject
Re: st: AW: levelsof problem?
Date
Tue, 27 Jul 2010 13:54:52 +0200
Thanks a lot, Tirthankar!
J
On Tue, Jul 27, 2010 at 1:13 PM, Tirthankar Chakravarty
<[email protected]> wrote:
> Then this (cumbersome) script should do what you want:
> *********************************************
> clear*
> input str2 country eu GE_F NL_F UK_F US_F
> US 0 1 1 1 0
> US 0 1 1 1 0
> NL 1 1 0 1 1
> IN 0 1 1 1 1
> GE 1 0 1 1 1
> GE 1 0 1 1 1
> US 0 1 1 1 0
> US 0 1 1 1 0
> US 0 1 1 1 0
> PT 1 1 1 1 1
> end
> g PT_F = 2
> levelsof country if eu==1, local(lev) clean
> local lev2
> foreach x of local lev {
> local lev2 " `lev2' `x'_F "
> }
> egen eutotal = rowtotal(`lev2')
> *********************************************
>
> T
>
>
> 2010/7/27 joe j <[email protected]>:
>> Thanks, Martin. This is not quite what I wanted; The following command
>> is good enough.
>> egen eutotal=rowtotal(GE_F NL_F UK_F)
>>
>> The *_F variables need to be selected based on whether they belong to
>> eu or not (GE_F NL_F UK_F are selected, but not US_F) (The values of
>> _*F variables are not based on whether eu=1 or otherwise). But there
>> are many groupings, like eu, and a lot of countries, so I was looking
>> for an easy method to select. But it seems to me that manual selection
>> is the only choice.
>>
>> On Tue, Jul 27, 2010 at 11:39 AM, Martin Weiss <[email protected]> wrote:
>>> <>
>>>
>>> You could of course -replace- to the values you want based on the -if-
>>> qualifier after the fact:
>>>
>>>
>>> *************
>>> egen eutotal=rowtotal(GE_F NL_F UK_F)
>>> replace eutotal=. if !eu
>>> *************
>>>
>>>
>>> The reason that your second approach does not work is that Stata expects a
>>> -varlist- while you feed it
>>>
>>> `"GE"' `"NL"' `"PT"'_F
>>>
>>> which it cannot process. Type -ma di- to see the contents of your -macro-s.
>>>
>>>
>>>
>>> HTH
>>> Martin
>>>
>>> -----Ursprüngliche Nachricht-----
>>> Von: [email protected]
>>> [mailto:[email protected]] Im Auftrag von joe j
>>> Gesendet: Dienstag, 27. Juli 2010 10:36
>>> An: [email protected]
>>> Betreff: st: levelsof problem?
>>>
>>> >From a data set roughly like the following
>>> clear*
>>> input str2 country eu GE_F NL_F UK_F US_F
>>> US 0 1 1 1 0
>>> US 0 1 1 1 0
>>> NL 1 1 0 1 1
>>> IN 0 1 1 1 1
>>> GE 1 0 1 1 1
>>> GE 1 0 1 1 1
>>> US 0 1 1 1 0
>>> US 0 1 1 1 0
>>> US 0 1 1 1 0
>>> PT 1 1 1 1 1
>>> end
>>>
>>> I want to calculate the row sum of all *_F variables pertaining to eu
>>> countries (all excluding US_F):
>>> egen eutotal=rowtotal(GE_F NL_F UK_F)
>>>
>>> However, I would prefer to follow some rules in selecting the variables,
>>> like
>>>
>>> levels country if eu==1, local(lev)
>>> egen eutotal=rsum(`lev'_F)
>>>
>>> This doesn't work, however. Any pointers would be appreciated.
>>>
>>> Joe.
>>> *
>>> * 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/
>>>
>>
>> *
>> * 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/
>>
>
>
>
> --
> To every ω-consistent recursive class κ of formulae there correspond
> recursive class signs r, such that neither v Gen r nor Neg(v Gen r)
> belongs to Flg(κ) (where v is the free variable of r).
>
> *
> * 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/