Donald Braman wrote:
This is a simple problem that has stumped me: I'm trying to loop through a
few dozen variable names in graphs.  I've tried various approaches like
this:
attach(mydata)
ivs <- c("oneiv", "anotheriv", "yetanotheriv")
dvs <- c("onedv", "anotherdv", "yetanotherdv")
for (iv in ivs) {
for (dv in dvs) {
graphname <- paste(iv, dv, ".png", sep = "")
png(file=graphname, width=300, height=300)
plot(dv ~ iv, pch=".")
lines(loess.smooth(iv, dv), lty=1)
dev.off()
}
}

Clearly that doesn't work.  I'm not sure how to make R see the iv and dv
strings as variables.  Advice?

Hi Donald,
I think the problem is that you are trying to plot the strings that you are using for your filename rather than the elements of "mydata". Try this:

for(ivindex in 1:3) {
for(dvindex in 1:3) {
 graphname<-paste(iv[ivindex],dv[dvindex],".png",sep="")
 png(graphname,width=300,height=300)
 plot(mydata[,3*iv-dv-1],mydata[,3*iv-dv],pch=".")
 lines(loess.smooth(mydata[,3*iv-dv-1],mydata[,3*iv-dv],lty=1)
 dev.off()
}
}

remembering that I have made up the indexing of "mydata" out of thin air. You will have to work out how to index the columns or rows of "mydata" to get the right iv and dv for each pass of the loops.

Jim

______________________________________________
R-help@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.

Reply via email to