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

st: Obtain the list of variables used in an if condition

From   Sergiy Radyakin <>
Subject   st: Obtain the list of variables used in an if condition
Date   Wed, 12 Aug 2009 16:02:59 -0400

Dear All,

how do I get the list of variables used in an if-condition passed to
my Stata program?
obviously all sorts of logical expressions and functions are permitted
in the if-condition.

program foobar
    syntax [if]

    // ... determine which vars are used in the if-condition and put
them in var_list ...
    // ... compute something ...


I am looking for an elegant solution, the one that would not involve,
say, dropping vars one
by one and checking if the expression is still computable.

One solution is to replace all the ! ~ ^ + - * / = < > ] and )  to
spaces, then look at the tokens left.
Those with ( immediately following are function names, those with [ or
a space immidetely
following are variables. (and we can use -capture confirm variable- to
check that).

Is there any problem with such an approach? (e.g. factor variables in Stata 11?)
Is there a better (or a standard/existing) approach to the problem?

Thank you, Sergiy Radyakin
*   For searches and help try:

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