Notice: On March 31, it was **announced** that Statalist is moving from an email list to a **forum**. The old list will shut down on April 23, and its replacement, **statalist.org** is already up and running.

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

From |
tashi lama <ltashi32@hotmail.com> |

To |
<statalist@hsphsun2.harvard.edu> |

Subject |
RE: st: have string macro default in syntax |

Date |
Tue, 25 Sep 2012 20:44:58 +0000 |

Thanks ---------------------------------------- > Date: Tue, 25 Sep 2012 18:53:17 +0100 > Subject: Re: st: have string macro default in syntax > From: njcoxstata@gmail.com > To: statalist@hsphsun2.harvard.edu > > I didn't make myself clear. > > The question is how does your program -hh- know the variable names? > There are two, because -by()- needs a variable name too. > > If you are hard-wiring names into -hh-, you are going to need to edit > the program for each new use. > > On the other hand, if there is extra code in your real program that > reads in variable names, then that's fine, except that we can't tell > that from your post. > > Note that -bu()- here is a typo for -by()-. If that's in your real > code, it's a bug. Also, this code won't work because of a mismatch > between -firm()- and -stat()-. > > Nick > > On Tue, Sep 25, 2012 at 6:40 PM, tashi lama <ltashi32@hotmail.com> wrote: >> Thanks. To the last comment, I am using odbc to get the varnames. I decided not putting in the question to be concise. I was actually trying to avoid 'if' somethng like we do for integers i.e. [firm(int -1)] . I had done something like this prior to posting. At least, the way you suggested makes my code shorter. >> >> syntax, [firm(str)] >> if "`stat'"!="" { >> graph pie varname, by(varname) plabel(_all `stat') >> } >> else { >> graph pie varname, bu(varname) plabel(_all percent) >> } >> >> Thanks, >> Tashi >> >> >> ---------------------------------------- >>> Date: Tue, 25 Sep 2012 15:12:18 +0100 >>> Subject: Re: st: have string macro default in syntax >>> From: njcoxstata@gmail.com >>> To: statalist@hsphsun2.harvard.edu >>> >>> This is easy; just not easy with -syntax- alone. >>> >>> Note that this discussion is one where the distinction between syntax >>> in general and the command -syntax- helps clarity considerably. That >>> is to say, the Statalist -cmdname- convention is not designed to be >>> fussy or a trap for new users, but an aid to comprehension. >>> >>> syntax [, stat(str)] >>> if "`stat'" == "" local stat "percent" >>> >>> This achieves the same goal; if the user specified nothing the default >>> is "percent". >>> >>> Note that the option -stat()- must be made genuinely optional; if it >>> is compulsory there can be no question of a default. >>> >>> I leave on one side the questions of where your program gets its >>> variable names from and why pie charts are anybody's default! >>> >>> Nick >>> >>> On Tue, Sep 25, 2012 at 2:40 PM, tashi lama <ltashi32@hotmail.com> wrote: >>>> >>>> I looked through the documentation for syntax. I don't think stata can do this but I would like to post anyway... >>>> >>>> here is my adofile >>>> /*begin hh.ado*/ >>>> >>>> program hh >>>> syntax, stat(str) >>>> ....... >>>> graph pie varname, by(varname) plabel(_all `stat') >>>> end >>>> >>>> hh, stat(sum) will give me sum >>>> hh, stat(percent) will give me percent >>>> >>>> I would like to( if possible) have hh draw a pie chart with "percent" as default and draw "sum" if included in the arguments. Something like this.... >>>> >>>> hh //give me percent by default >>>> hh, stat(sum) //give me sum >>>> >>>> Can stata do this?? Any help will be appreciated// > > * > * 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/

**References**:**st: have string macro default in syntax***From:*tashi lama <ltashi32@hotmail.com>

**Re: st: have string macro default in syntax***From:*Nick Cox <njcoxstata@gmail.com>

**RE: st: have string macro default in syntax***From:*tashi lama <ltashi32@hotmail.com>

**Re: st: have string macro default in syntax***From:*Nick Cox <njcoxstata@gmail.com>

- Prev by Date:
**Re: st: chisquare for trend** - Next by Date:
**st: a Stata programmer position** - Previous by thread:
**Re: st: have string macro default in syntax** - Next by thread:
**Re: st: have string macro default in syntax** - Index(es):