I'm trying to use filter
function in dplyr package to extract rows from a dataframe that fits the condition.
My dataframe looks like this:
head(EIA)
length location stype rock dist ftype depth aspect degree drain TWI
1 len1 loc3 stype2 rock3 dist3 ftype1 depth2 asp2 degree2 drain4 TWI1
2 len4 loc2 stype2 rock3 dist1 ftype4 depth3 asp4 degree3 drain4 TWI3
3 len2 loc2 stype2 rock2 dist1 ftype4 depth3 asp1 degree2 drain4 TWI2
4 len4 loc2 stype2 rock3 dist2 ftype4 depth3 asp4 degree2 drain4 TWI2
5 len4 loc2 stype1 rock3 dist1 ftype2 depth3 asp1 degree3 drain4 TWI2
6 len4 loc3 stype2 rock2 dist1 ftype2 depth3 asp4 degree3 drain1 TWI2
and so on. Total rows: 10560
But since I'm trying to do this job in a for loop, each elements in filter function has to be passed with variables(colcol, aa, bb, cc):
colcol
[1] "length" "location" "stype"
aa;bb;cc
[1] "len1"
[1] "loc2"
[1] "stype1"
I tried to do the filter function like this but didn't work:
filter(EIA, colcol[1] == aa & colcol[2] == bb & colcol[3] == cc)
Two rows must be extracted as a result. I think this is because of the double quotes around colcol[1] element. I tried to remove these quotes by using as.symbol
, as.name
, and noquote
functions but they didn't work.
Is there any solution to this problem?
Thank you in advance.