如何迭代不同变量的图?
How to iterate plot over different variables?
我有以下代码:
hist house1 if house1 >0 & house1 <200000, bin(25) fraction by(Year)
graph export house1.png, replace
我想迭代它,用 car1
和 bed1
替换 house1
,而不复制粘贴代码并替换,或者至少像:
var = "house1"
hist var if house1 >0 & house1 <200000, bin(25) fraction by(Year)
graph export var.png, replace
这样我就可以只更改分配给 var
的值。
一个简单的 foreach
循环就可以了:
foreach x in house1 car1 bed1 {
display "hist `x' if `x' >0 & `x' <200000, bin(25) fraction by(Year)"
display "graph export `x'.png, replace"
}
hist house1 if house1 >0 & house1 <200000, bin(25)fraction by(Year)
graph export house1.png, replace
hist car1 if car1 >0 & car1 <200000, bin(25)fraction by(Year)
graph export car1.png, replace
hist bed1 if bed1 >0 & bed1 <200000, bin(25)fraction by(Year)
graph export bed1.png, replace
这里x
是一个本地宏,获取foreach
中指定的值。
请注意,display
命令用于说明,不是必需的。
我有以下代码:
hist house1 if house1 >0 & house1 <200000, bin(25) fraction by(Year)
graph export house1.png, replace
我想迭代它,用 car1
和 bed1
替换 house1
,而不复制粘贴代码并替换,或者至少像:
var = "house1"
hist var if house1 >0 & house1 <200000, bin(25) fraction by(Year)
graph export var.png, replace
这样我就可以只更改分配给 var
的值。
一个简单的 foreach
循环就可以了:
foreach x in house1 car1 bed1 {
display "hist `x' if `x' >0 & `x' <200000, bin(25) fraction by(Year)"
display "graph export `x'.png, replace"
}
hist house1 if house1 >0 & house1 <200000, bin(25)fraction by(Year)
graph export house1.png, replace
hist car1 if car1 >0 & car1 <200000, bin(25)fraction by(Year)
graph export car1.png, replace
hist bed1 if bed1 >0 & bed1 <200000, bin(25)fraction by(Year)
graph export bed1.png, replace
这里x
是一个本地宏,获取foreach
中指定的值。
请注意,display
命令用于说明,不是必需的。