При программировании в Stata я часто нахожу себя использующим индекс цикла в программировании. Например, я буду перебирать список переменных: номинальная цена и реальная цена:
local list = "nominalprice realprice"
foreach i of local list {
summarize `i'
twoway (scatter `i' time)
graph export "C:\TimePlot-`i'.png"
}
Это будет отображать временные ряды номинальных и реальных цен и экспортировать один график под названием TimePlot-номинант price.png, а другой - 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. Может быть, я просто не думаю о проблеме правильно? Можете ли вы предложить лучший способ цикла с использованием строк?