[R] loop and plot

Rene kaixinmalea at gmail.com
Mon Oct 19 12:14:33 CEST 2009


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.




More information about the R-help mailing list