Announcement

Collapse
No announcement yet.
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • syntax: add a minus before a list of variables

    Dear Stata users,

    I want to make a convenient wrapper using gsort command. My question is how to add a minus before every variable in my varlist. Thank you.
    Code:
    program define gsort2
    syntax varlist
    gsort -`varlist' //NOT the right way, but use tokenize?
    ......
    What I want to achieve is letting
    Code:
    gsort2 price weight mpg, EQUALS(=)
    gsort -price -weight -mpg

  • #2
    Maybe something like the following.
    Code:
    version 17.0
    
    clear *
    
    program define gsort2
        version 17.0
        syntax varlist
    
        local varlist : subinstr local varlist " " " -", all
        gsort -`varlist'
    end
    
    *
    * Tryout
    *
    quietly sysuse auto
    
    gsort2 rep78 foreign price
    
    list rep78 foreign price if rep78 == rep78[1], noobs separator(0)
    
    exit

    Comment


    • #3
      Thank you very much Joseph Coveney. It is so magic with " " " -". I never imagine I can add a minus to every variable in such an elegant way.
      Code:
      subinstr { local | global } mname [`]"from"['] [`]"to"['] [, all word count({ local | global } mname) ]

      Comment

      Working...
      X