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: could someone pls explain me this
From
tashi lama <[email protected]>
To
<[email protected]>
Subject
RE: st: could someone pls explain me this
Date
Mon, 30 Apr 2012 18:24:34 +0000
thank you. I still have some clouds.
1.Why do we have to summarize the temp var?
2.Minimum such obs no r(min). Are we looking the minimum obs in the tempvar? Is it 3 in the following example?
epcom noncom __000001 |
|------------------------------------------|
1. | 18001 Acheres . |
2. | 18002 Ainay-Le_Vieil . |
3. | 18003 Les Aix -d'Angillion 3 |
4. | 18004 Allogny . |
5. | 18005 Allouis . |
3. Could we have said instead of minimum or maximum no, non-missing obs no because there is only one obs in tempvar?
----------------------------------------
> Date: Mon, 30 Apr 2012 18:37:56 +0100
> Subject: Re: st: could someone pls explain me this
> From: [email protected]
> To: [email protected]
>
> The code
>
> tempvar tv1
> gene `tv1'=_n if depcom==18003
> summ `tv1', meanonly
> local index=r(min)
> local mymacro=nomcom[`index']
> drop `tv1'
>
> is a way of looking up the value of -nomcom- when -depcom- is 18003.
> The temporary variable contains observation numbers for which -depcom-
> is 18003. A certain way of finding such an observation if any exist is
> to find the minimum such observation number. The maximum would do fine
> as an alternative. The code could be shortened
>
> tempvar tv1
> gene `tv1'=_n if depcom==18003
> summ `tv1', meanonly
> local mymacro=nomcom[r(min)]
> drop `tv1'
>
> The main point of similar code is to automate value look-up. It's
> usually a long-winded way to proceed if you are working interactively.
>
> Nick
>
> On Mon, Apr 30, 2012 at 6:24 PM, tashi lama <[email protected]> wrote:
>
> > I am doing sth similar to what I found in archive titiled "Re: st: save the value of a string variable into a macro". I am not sure if I followed the code although it looks relatively st. forward.
> >
> >
> >
> > Here is the dataset and goal
> >
> > +-----------------------------+
> > | depcom nomcom |
> > |-----------------------------|
> > 1. | 18001 Acheres |
> > 2. | 18002 Ainay-le-Vieil |
> > 3. | 18003 Les Aix-d'Angillon |
> > 4. | 18004 Allogny |
> > 5. | 18005 Allouis |
> > +-----------------------------+
> >
> > Where depcom is an id. I want to save a specific values of the variable "nomcom" into a variable, for example, I want to obtain :
> > . di "`mymacro'"
> > Archeres
> >
> >
> >
> > The code is
> >
> >
> >
> > tempvar tv1
> > gene `tv1'=_n if depcom==18003
> > summ `tv1', meanonly
> > local index=r(min)
> > local mymacro=nomcom[`index']
> > drop `tv1'
> >
> >
> >
> >
> > I follow line 1 and 2. I am not sure why we need line 3. Line 4 established a macro which is used in line 5. But, I don't follow why the macro takes r(min) as expression. I would think the macro `index' should capture the value(the only value in fact) in tv1.
>
> *
> * 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/