*Stata programming by Example *Tutorial 2 **Example 1, macro * 2 ways of assigning something to a macro *--------------Start Example 1 ----------------* local a="this is a" //with the = is limits to 244 characters display "`a'" local b "this is b" //limited to lots of characters see "help limits" for the limit for your flavour of Stata, copies the definition display "`b'" *--------------End Example----------------------* *using "=" limits the length of the macro to 244 characters. Example 2 illustrates this. *--------------Start Example 2 ----------------* local a= "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" local a1= "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" local a2= "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" local a3= "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" local a4= "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" local b5= "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" local aa="`a'"+"`a1'"+"`a2'"+"`a3'"+"`a4'" +"`a5'" di "`aa'" //with the = the length of the macro is limits to 244 characters local b "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" local b1= "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" local b2= "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" local b3= "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" local b4= "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" local b5= "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" local bb "`b'" "`b1'" "`b2'" "`b3'" "`b4'" "`b5'" di "`bb'" //withOUT the = the length of the macro is limits to: see help limits *--------------End Example----------------------* help limits **Example 3, using a macro *--------------Start Example 3 ----------------* sysuse auto, clear local a mpg weight price turn regress mpg `a' summarize `a' describe `a' *--------------End Example----------------------* **Example 4, using a macro *--------------Start Example 4 ----------------* sysuse auto, clear local a mpg weight price turn regress mpg `a' local a=_b[weight] display "`a'" *--------------End Example----------------------* *--------------Start Example 5 ----------------* local a 1 local b 2 local c 3 local abc= `a'+`b'+`c' display "`abc'" display "a+b+c= " "`abc'" *--------------End Example----------------------* *--------------Start Example 6 ----------------* local a a local b b local c c local abc "`a'`b'`c'" display "`abc'" *--------------End Example----------------------* *global macro *--------------Start Example 7 ----------------* global a="this is a" display "$a" *--------------End Example----------------------* *Warning: only use global macro if local macro do not do the job *listing macro *--------------Start Example 8 ----------------* local a=1 macro list *--------------End Example----------------------* *End tutorial 2 - programming Stata