Hello,
I have to draw I have to draw a variety of similar graphs and decided to use macros at first time. I'm working at Stata 13
Without macros it looks like
graph twoway (lpoly Factor1 Year if (Status == 1)&(Group == 1), degree(4))(lpoly Factor1 Year if (Status == 0)&(Group == 1), degree(4))
graph export F1_Factor1.png
graph twoway (lpoly Factor2 Year if (Status == 1)&(Group == 1), degree(4))(lpoly Factor2Year if (Status == 0)&(Group == 1), degree(4))
graph export F1_Factor2.png
...
and so on (it works properly)
However, when I type
foreach var of varlist Factor1 Factor2 {
graph twoway (lpoly 'var' Year if (Status == 1)&(Group == 1), degree(4))(lpoly 'var' Year if (Status == 0)&(Group == 1), degree(4)), name(`var', replace)
}
I get an error that
‘var’ invalid name
Moreover, If I type just
foreach var of varlist Factor1 Factor2 {
twoway scatter `var' YEAR || lfit `var' YEAR, name(gr`var', replace)
}
It works well, but with this syntax I can' add degree(4), which is crucial.
Could anybody please help?
I have to draw I have to draw a variety of similar graphs and decided to use macros at first time. I'm working at Stata 13
Without macros it looks like
graph twoway (lpoly Factor1 Year if (Status == 1)&(Group == 1), degree(4))(lpoly Factor1 Year if (Status == 0)&(Group == 1), degree(4))
graph export F1_Factor1.png
graph twoway (lpoly Factor2 Year if (Status == 1)&(Group == 1), degree(4))(lpoly Factor2Year if (Status == 0)&(Group == 1), degree(4))
graph export F1_Factor2.png
...
and so on (it works properly)
However, when I type
foreach var of varlist Factor1 Factor2 {
graph twoway (lpoly 'var' Year if (Status == 1)&(Group == 1), degree(4))(lpoly 'var' Year if (Status == 0)&(Group == 1), degree(4)), name(`var', replace)
}
I get an error that
‘var’ invalid name
Moreover, If I type just
foreach var of varlist Factor1 Factor2 {
twoway scatter `var' YEAR || lfit `var' YEAR, name(gr`var', replace)
}
It works well, but with this syntax I can' add degree(4), which is crucial.
Could anybody please help?
Comment