# [R] using loops to create multiple images

Stephen Tucker brown_emu at yahoo.com
Mon Aug 6 02:13:04 CEST 2007

Not sure exactly what 'results' is doing there or 'barplot(table(i),...)'
does  [see ?table]

but I think this is sort of what you want to do?

## Variable assignment
G01_01 <- 1:10
G01_02 <- 2:6

## Combine to list*
varnames <- paste("G01_",substring(100+1:2,2),sep="")
vars <- lapply(`names<-`(as.list(varnames),varnames),
function(x) eval(parse(text=x)))
print(vars)

## Plotting
for( i in 1:length(vars) ) {
filenm <- paste("/my/dir/barplot",i,".png",sep="")
barplot(...)
dev.copy(png,filename=filenm,...)
dev.off()
}

## **Combining to list, step-by-step
## does the same thing as above
digits <- substring(100+1:2,2)
varnames <- paste("G01_",digits,sep="")
vars <- as.list(varnames)
names(varlist) <- vars
# convert character string of variable names to
# expressions via parse() and evaluate by eval()
vars <- lapply(varlist,function(x) eval(parse(text=x)))
print(vars)

--- "Donatas G." <dgvirtual at akl.lt> wrote:

> I have a data.frame with ~100 columns and I need a barplot for each column
> produced and saved in some directory.
>
>
> this is my loop that does not work...
>
> vars <- list (substitute (G01_01), substitute (G01_02), substitute
> (G01_03),
> substitute (G01_04))
> results <- data.frame ('Variable Name'=rep (NA, length (vars)),
> check.names=FALSE)
> for (i in 1:length (vars))  {
> barplot(table(i),xlab=i,ylab="NuomonÄ—s")
> dev.copy(png, filename="/my/dir/barplot.i.png", height=600, width=600)
> dev.off()
> }
>
> questions:
>
> Is it possible to use the i somewhere _within_ a file name? (like it is
> possible in other programming or scripting languages?)
>
> Since I hate to type in all the variables (they go from G01_01 to G01_10
> and
> then from G02_01 to G02_10 and so on), is it possible to shorten this list
> by
> putting there another loop, applying some programming thing or so?
>
> --
> Donatas Glodenis
> http://dg.lapas.info
>
> ______________________________________________
> R-help at stat.math.ethz.ch mailing list
> https://stat.ethz.ch/mailman/listinfo/r-help
> http://www.R-project.org/posting-guide.html
> and provide commented, minimal, self-contained, reproducible code.
>

____________________________________________________________________________________