Rene wrote: > Dear all, > > I am stuck at applying loop function for creating separated plots. > > I have coding like below: > > dataset.table <- > table(data.frame(var1=c(1,2,3,1,2,3,1),colour=c("a","b","c","c","a","b","b") > )) > kk = function(f) > { > ls=as.character(f) > pie(dataset.table[ls,],main=ls) > box() > } > > kk(1) > kk(2) > kk(3) > > By using above code, I can create 3 single plot respectively, but when I > type kk(1:3), obviously it will not work. > > I know I have to vectorise the coding, then I can use command kk(1:3). I > try to use loop: > > kk = function(f) > { > ls=as.character(f) > for (i in length(f)) > { > pie(dataset.table[ls[i],],main=ls[i]) > box() > } > } > kk(1:3) > > the above code only gives me the last pie plot (ie. kk(3) plot) instead of > 3 plots respectively. > > Can someone please guide me how to revise the loop coding, and produce 3 > separated plots one after another on the screen by typing kk(1:3)? > > Thanks a lot. > > Rene.
Your code is probably doing what you want, but over-plotting the graphs so quickly, you only see the last one. Inserting readline("Hit <ENTER> to proceed.") after your "box()" statement might give you what you want. Joh ______________________________________________ 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.