How can I pass arguments to my do-files?
| Title |
|
Passing arguments to do-files |
| Author |
William Gould, StataCorp |
| Date |
February 1996; updated July 2011
|
You pass arguments to your do-files by adding the arguments to the
run or do command
line. Stata will save the extra arguments in the numbered macros so
that you can access them.
Example 1
Let’s say that you have the following do-file testarg1.do:
display "The first argument is: `1'"
display "The second argument is: `2'"
display "The third argument is: `3'"
Here are some sample output:
. do testarg1 12 crawfish 3.14
. display "The first argument is: `1'"
The first argument is: 12
. display "The second argument is: `2'"
The second argument is: crawfish
. display "The thrid argument is: `3'"
The thrid argument is: 3.14
. do testarg1 "George Washington" 12 1.4
. display "The first argument is: `1'"
The first argument is: George Washington
. display "The second argument is: `2'"
The second argument is: 12
. display "The thrid argument is: `3'"
The thrid argument is: 1.4
Example 2
Now, let’s say that we want to write a do-file that will accept three
arguments. The first argument is the name of a file to use, the second
argument is the name of a variable in the dataset, and the third argument is
a value of the specified variable indicating the subset of the data that we
want to load into memory.
use `1' if `2'==`3'
We may also want to save the arguments into other macros that have more
meaningful names so that we might use them throughout our do-file.
We can do this with the
args command:
args fname vname val
use "`fname'" if `vname'==`val'
|