Bookmark and Share

Notice: On April 23, 2014, Statalist moved from an email list to a forum, based at

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

RE: st: Assigning value of a function to a local macro

From   Nick Cox <>
To   "''" <>
Subject   RE: st: Assigning value of a function to a local macro
Date   Thu, 10 May 2012 11:32:55 +0100

Phil is naturally spot on here. But the question of why the original was a syntax error remains a little open. 

The help for -min()- doesn't quite spell it out, but you need at least two arguments. 

Even though -min(x)- might seem to be clearly defined as -x-, Stata wants you to specify two or more arguments. 

At a wild guess, the original logic was probably that just specifying one argument is most likely to be an error on your part, as in this example. Otherwise put, if you have just one thing, you don't need to push it through a function that returns itself. 


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)
gen newvar=min(var1, var1[_n-1])
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:

© Copyright 1996–2018 StataCorp LLC   |   Terms of use   |   Privacy   |   Contact us   |   Site index