title: Selecting multiple rows based on data containing string in list
body: <p>I have a dataframe df with a column of text strings and a separate list of values:</p>
  <pre><code>c1 &lt;- c(&quot;Jim Mackinnon&quot;,&quot;Jane Smit&quot;,&quot;Sunday 9-10&quot;,&quot;Wednesday 14-15&quot;,&quot;Friday 19-20&quot;)
  c2 &lt;- c(&quot;1123&quot;,&quot;4923&quot;,&quot;6924&quot;,&quot;4301&quot;,&quot;5023&quot;)
  df &lt;- as.data.frame(c2,c1)
  df
             c1     c2
  Jim Mackinnon   1123
  Jane Smit       4923
  Sunday 9-10     6924
  Wednesday 14-15 4301
  Friday 19-20    5023
  
  list_values &lt;- c(&quot;Sunday&quot;,&quot;Monday&quot;,&quot;Tuesday&quot;,&quot;Wednesday&quot;,&quot;Thursday&quot;,&quot;Friday&quot;,&quot;Saturday&quot;)
  </code></pre>
  <p>The aim is to select only those rows containing a value in c1 that contains one of the strings in list_values. In the example, this would mean selecting only rows 3-5 and discarding the rest. Is there a way of doing this without iteration?</p>