Stata でプログラミングするとき、プログラミングでループ インデックスを使用していることに気付くことがよくあります。たとえば、変数の公称価格と実価格のリストをループします。
local list = "nominalprice realprice"
foreach i of local list {
summarize `i'
twoway (scatter `i' time)
graph export "C:\TimePlot-`i'.png"
}
これは名目価格と実質価格の時系列をプロットし、TimePlot-nominalprice.png と呼ばれる 1 つのグラフと TimePlot-realprice.png と呼ばれる別のグラフをエクスポートします。
R では、同じことを行うために私が思いついた方法は次のようになります。
clist <- c("nominalprice", "realprice")
for (i in clist) {
e <- paste("png(\"c:/TimePlot-",i,".png\")", sep="")
eval(parse(text=e))
plot(time, eval(parse(text=i)))
dev.off()
}
この R コードは直感的ではなく、乱雑に見えますが、R でこの種のことを行う良い方法はまだ見つかっていません。たぶん私は問題について正しい方法で考えていないだけですか?文字列を使用してループするより良い方法を提案できますか?