I think you have to convert the loop value to character; it is not recognized inside the quotes:
#doesn't work, but now it should i<-147 p1 <- grep("QueryItem",c1data[as.character(i),],value=FALSE,fixed=FALSE) print(p1) # prints 0 Same thing goes for the 'for' loop: for(i in 137:270) { print(i) p <- grep("QueryItem",c1data[as.character(i),],value=FALSE,fixed=FALSE) p2 <- p print(p2) if(length(p)>0) { print(p) } } On Wed, Mar 11, 2009 at 6:29 PM, Mohan Singh <mohan.si...@ucd.ie> wrote: > Hi everyone > > I am trying to use grep in a for loop to compare a string value. It works > if I use > the actual index value but when I use the for loop index, it doesn't work. > Any suggestions plz. > > Here is the code: > > data <- read.table(file="Sigmoid.csv", head=FALSE, sep=","); > > c1 <- data$V1 > c2 <- data$V2 > c3 <- data$V3 > > c1data <- data.frame(c1); > c2data <- data.frame(c2); > c3data <- data.frame(c3); > > #this works > p <- grep("QueryItem",c1data["147",],value=FALSE,fixed=FALSE) > print(p) # print 1 > > #doesn't work > i<-147 > p1 <- grep("QueryItem",c1data["i",],value=FALSE,fixed=FALSE) > print(p1) # prints 0 > > for(i in 137:270) { > print(i) > p <- grep("QueryItem",c1data["i",],value=FALSE,fixed=FALSE) > p2 <- p > print(p2) > if(length(p)>0) { print(p) } > } > > ______________________________________________ > 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. > -- Jim Holtman Cincinnati, OH +1 513 646 9390 What is the problem that you are trying to solve? ______________________________________________ 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.