[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)
I think in many cases paste() is your answer...
--- "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.
>
> I am not sure it is possible - so please help me.
>
> 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
> PLEASE do read the posting guide
> http://www.R-project.org/posting-guide.html
> and provide commented, minimal, self-contained, reproducible code.
>
____________________________________________________________________________________
that gives answers, not web links.
More information about the R-help
mailing list