This is the code
`
region<-"ARLINGTON"
data<-read.csv("city_markets.csv")
for(i in 1:length(data[[1]])){
if(grep(region,as.character(data[[3]][i]),ignore.case=TRUE)==1){
for(j in 1:length(data)){ write(data[[j]][i],"analyzed.txt",append=TRUE) } }} `
now what i'm trying to do here is I'm accessing the csv's column(3rd one) and comparing it with the region specified! i keep getting the error
Error in if (grep(region, as.character(data[[3]][i]), ignore.case = TRUE) == :
argument is of length zero
To detail a bit my comment and @Adii_ 's :
when you use
grep, the result is the "position" of elements that fulfill the condition... so "nothing" if there is no match (hence the error message).Using
grepl, you'll get TRUE or FALSE, which you can use in yourifstatement.As for
length(grep(...)), the result will be0if there is no match, corresponding toFALSEfor theifstatement, or a positive integer (1in your case because you're testing only one element), if there is a match, corresponding toTRUEfor theifstatement.