Cuando programo en Stata, a menudo me encuentro utilizando el índice de bucle en la programación. Por ejemplo, voy a un bucle sobre una lista de las variables nominalprice y realprice:Bucle en variables de cadena en R
local list = "nominalprice realprice"
foreach i of local list {
summarize `i'
twoway (scatter `i' time)
graph export "C:\TimePlot-`i'.png"
}
Esto trazar las series temporales de los precios nominales y reales y exportar un gráfico llamado TimePlot-nominalprice.png y otro llamado TimePlot- realprice.png.
En R el método que he llegado con hacer lo mismo sería:
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()
}
Este código R parece poco intuitivo y desordenado a mí y no he encontrado una buena manera de hacer esto tipo de cosas en R todavía. Tal vez simplemente no estoy pensando en el problema de la manera correcta? ¿Puedes sugerir una mejor forma de hacer bucles usando cadenas?
Gracias Jonathon. Me gusta la opción get (i) e intentaré trabajar con eso. Los datos que estaba usando son datos ficticios, por lo que podrían estructurarse en un marco de datos. ¿Qué sería diferente si se usa un marco de datos? – aTron
Porque entonces es fácil acceder por cadena. Supongamos que tiene un marco de datos 'df' con una columna llamada' nominalprice'. Luego puede escribir 'df [," nominalprice "]' para obtener esa columna. –