Durante la programmazione in Stata mi trovo spesso a utilizzare l'indice di loop nella programmazione. Ad esempio, io loop su un elenco delle variabili nominalprice e realprice:Variabili loop su stringa in R
local list = "nominalprice realprice"
foreach i of local list {
summarize `i'
twoway (scatter `i' time)
graph export "C:\TimePlot-`i'.png"
}
Ciò tracciare la serie storica dei prezzi nominali e reali ed esportare un grafico chiamato TimePlot-nominalprice.png e un altro chiamato TimePlot- realprice.png.
Nel R il metodo che è venuta in mente di fare la stessa cosa sarebbe:
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()
}
Questo codice R sembra poco intuitivo e disordinato a me e non ho trovato un buon modo per fare questo tipo di cosa in R ancora. Forse non sto pensando al problema nel modo giusto? Puoi suggerire un modo migliore per eseguire il loop usando le stringhe?
Grazie Jonathon. Mi piace l'opzione get (i) e proverò a lavorarci. I dati che stavo usando sono dati fittizi quindi potrebbero essere strutturati in un dataframe. Cosa sarebbe diverso se si usasse un dataframe? – aTron
Perché è facile accedere per stringa. Supponiamo che tu abbia un frame dati 'df' con una colonna denominata' nominalprice'. Quindi puoi semplicemente scrivere 'df [," nominalprice "]' per ottenere quella colonna. –