我有以下代码:
hist house1 if house1 >0 & house1 <200000, bin(25) fraction by(Year)
graph export house1.png, replace
我想用house1
和car1
来代替bed1
和var = "house1"
hist var if house1 >0 & house1 <200000, bin(25) fraction by(Year)
graph export var.png, replace
来进行迭代,而无需复制粘贴代码并替换,或者至少是类似的东西:
var
这样我就可以只更改分配给{{1}}的值。
答案 0 :(得分:1)
一个简单的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
命令仅作说明之用。