title: Counting the iteration in sapply
body: <p>I'm using sapply and drawing plots. But I couldn't give different colors for each line I'm drawing using sapply. Is there a way I can increment a variable for each time sapply is called and use that variable(VARIABLE) for changing the color using plot_colors[VARIABLE]</p>
  
  <pre><code>    plot_colors &lt;- c("blue","red","forestgreen","black")
      sapply(unique(ab$region[ab$region]), FUN=graphplot, REG=ab, tl=z, num=num+1)
      graphplot &lt;- function(l, REG, tl, num) {
              dl &lt;- REG[REG$region == l, tl]
              datel &lt;- REG[REG$region == l, "date"]
              dl &lt;- cbind(as.numeric(rownames(REG[REG$region == l, ])), REG[REG$region == l, tl])
              lines(dl, type="l", pch=2, col=plot_colors[num])
              num &lt;- num + 1
      }
  </code></pre>
  
  <p>Here is the full code.</p>
  
  <pre><code>    avg_data &lt;- read.table("qes.tbl", header=T, sep=",")
      avg_data
      #        dl &lt;- avg_data[avg_data$region == "prod", "AveElapsedTime"]
              #datel &lt;- avg_data[avg_data$region == "prod", "date"]
      #Creating the graph pdf in the below path to give as a link in the mail
      FL &lt;- 20120631
      file &lt;- paste("graph", FL, "pdf", sep=".")
      plot_colors &lt;- c("blue","red","forestgreen","black")
      pdf(file, height=4.5, width=9.5, onefile=TRUE)
      graphplot &lt;- function(l, REG, tl, num) {
              dl &lt;- REG[REG$region == l, tl]
              datel &lt;- REG[REG$region == l, "date"]
              dl &lt;- cbind(as.numeric(rownames(REG[REG$region == l, ])), REG[REG$region == l, tl])
              lines(dl, type="l", pch=2, col=plot_colors[num])
              num &lt;- num + 1
      }
      drawGraph &lt;- function(ab, y, z, s) {
              #Creating X axis
              x &lt;- ab[ab$region == "Beta", z]
              y &lt;- ab[,1]
              g_range &lt;- range(0,x[!is.na(x)])
              plot(NA, type="l", col="orange", xlim= c(1, length(y)),  ylim=g_range,axes=FALSE, ann=FALSE)
              num=1
              sapply(unique(ab$region[ab$region]), FUN=graphplot, REG=ab, tl=z, num)
              box()
              axis(1, at=1:length(y), lab=FALSE)
              text(1:length(y), par("usr")[3] - 2, srt=45, adj=1.2, labels=y, xpd=T, cex=0.3)
              scale &lt;- s
              axis(2, las=1, at=scale*0:g_range[2], cex.axis=0.3)
              main_title&lt;-as.expression(z)
              #Caculationg Mean, Upper limit and lower limit using the below commands
              MEANLIMIT &lt;- seq(length=length(y), from=mean(x), by=0)
              ULIMIT &lt;- seq(length=length(y), from=mean(x) + 2.66*sum(abs(diff(x)))/length(x), by=0)
              LLIMIT &lt;- seq(length=length(y), from=mean(x) - 2.66*sum(abs(diff(x)))/length(x), by=0)
              lines(MEANLIMIT, type="l", col="black")
              lines(ULIMIT, type="l", pch=2, lty=2, col="grey")
              lines(LLIMIT, type="l", pch=2, lty=2, col="black")
              title(main=main_title, col.main="red", font.main=4)
              title(xlab="Test Execution Date", col.lab=rgb(0,0.5,0))
              title(ylab="Millisecond", col.lab=rgb(0,0.5,0))
              legend("topright", g_range[2], main_title, cex=0.4, col=c("blue"), lty=1);
      }
      lab&lt;-as.character(avg_data$date)
      AET &lt;- avg_data$AveElapsedTime
      MTitle &lt;- "AveElapsedTime"
      #Creating graph for Average Elapsed time
              drawGraph(avg_data, lab, MTitle, 5)
  </code></pre>
  
  <p>Here is the qes.tbl..</p>
  
  <pre><code>    date,region,AveElapsedTime
      5/1/2012,preprod,23
      5/2/2012,prod,76
      5/3/2012,Beta,34
      5/4/2012,prod,30
      5/5/2012,Beta,22
      5/6/2012,preprod,32
      5/7/2012,Beta,21
      5/8/2012,prod,44
      5/9/2012,preprod,45
      5/10/2012,Beta,23
      5/11/2012,prod,50
      5/13/2012,Beta,26
      5/14/2012,preprod,33
      5/15/2012,Beta,75
      5/16/2012,preprod,56
      5/17/2012,Beta,32
      5/18/2012,preprod,67
      5/19/2012,prod,40
  
      structure(list(date = structure(c(3, 11, 12, 13, 14, 15, 16, 17, 18, 1, 2, 4, 5, 6, 7, 8, 9, 10), .Label = c("5/10/2012", "5/11/2012", "5/1/2012", "5/13/2012", "5/14/2012", "5/15/2012", "5/16/2012", "5/17/2012", "5/18/2012", "5/19/2012", "5/2/2012", "5/3/2012", "5/4/2012", "5/5/2012", "5/6/2012", "5/7/2012", "5/8/2012", "5/9/2012"), class = "factor"), region = structure(c(2, 3, 1, 3, 1, 2, 1, 3, 2, 1, 3, 1, 2, 1, 2, 1, 2, 3), .Label = c("Beta", "preprod", "prod"), class = "factor"), AveElapsedTime = c(23, 76, 34, 30, 22, 32, 21, 44, 45, 23, 50, 26, 33, 75, 56, 32, 67, 40)), .Names = c("date", "region", "AveElapsedTime"), class = "data.frame", row.names = c("1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", "14", "15", "16", "17", "18"))
  </code></pre>