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: Assigning value of a function to a local macro
From 
 
Navid Asgari <[email protected]> 
To 
 
"'[email protected]'" <[email protected]> 
Subject 
 
RE: st: Assigning value of a function to a local macro 
Date 
 
Fri, 11 May 2012 00:06:25 +0800 
E.g. we have this data:
     | var1 |
     |------|
  1. | 1995 |
  2. | 1994 |
  3. | 1991 |
  4. | 2001 |
  5. | 2003 |
     |------|
  6. | 2004
If you try to assign the minimum of "var1" to a local macro by using the following command you will get a syntax error:
local minvar=min(var1)
invalid syntax
r(198);
However, if you first create a variable containing the minimum of the "var1", then you can transfer that variable into your local macro:
. egen minivar1=min(var1)
. local minvar=minivar1
. display "the minimum of the varriable 1 is"   `minvar'
the minimum of the varriable 1 is1991
-----Original Message-----
From: [email protected] [mailto:[email protected]] On Behalf Of Nick Cox
Sent: Thursday, May 10, 2012 11:59 PM
To: '[email protected]'
Subject: RE: st: Assigning value of a function to a local macro
Phil's solution doesn't involve scalars at all. 
I don't think your side-note is correct. At least, show us an example with real data. 
Nick 
[email protected] 
Navid Asgari
Thanks Phil! It is a good solution to use scalars.
But, on a side note, min() can work on one variable too
e.g.:
generate minv=min(variable1)
Phil Clayton
min() doesn't do what you think it does. It's more for this kind of thing:
gen newvar=min(var1, var2, var3)
or
gen newvar=min(var1, var1[_n-1])
or
summarize price
display min(r(mean), r(p50))
To get the lowest value of the variable year in the dataset, I would suggest:
summarize year, meanonly
local byear=r(min)
On 10/05/2012, at 7:40 PM, Navid Asgari wrote:
 
> I am trying to assign the value of a function to a local macro, but I get "Invalid Syntax"?
> 
> 
> I type:
> 
> local byear=min(year)
> 
> year is the variable whose minimum has to be saved in the local macro "byear"
*
*   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/