I have tried for the similar problem on SO but couldn't.

I have two data frames. I want to subset one column in one data frame using two columns in another data frame. 

The data frame are as following.

```
df1 <- data.frame(x = c(22,23,22,34,21),
                  y = c(1,4,2,3,2))
df1
   x y
1 22 1
2 23 4
3 22 2
4 34 3
5 21 2

df2 <- data.frame(a = c("John", "Matt", "foo","boo"),
                  b = c(4, NA, NA,2), 
                  c = c(3, NA, 3, 3))

df2

     a  b  c
1 John  4  3
2 Matt NA NA
3  foo NA  3
4  boo  2  3

```

I want to subset column *df1$y* using column b and c from dataframe *df2* using vectorized operation.
The output should in list form as following

```
df1

df1[1]
   x y
2 23 4
4 34 3

df1[2]

df1[3]
   x y
4 34 3

df1[4]
   x y
3 22 2
4 34 3
5 21 2

```