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 yourif
statement.As for
length(grep(...))
, the result will be0
if there is no match, corresponding toFALSE
for theif
statement, or a positive integer (1
in your case because you're testing only one element), if there is a match, corresponding toTRUE
for theif
statement.