I am trying to filter a data frame where I need to search for a regular expression within the data frame.

[1] 10299 561

I wanted to know if there is a way, I could find the name(s) of the column(s) where a particular regex may be available.

As an example, how do I find the name of the column where 'rsi' is present. I am referring to iris.

  • $\begingroup$ By the way, I think there have been a lot of questions of this kind over at StackOverflow.com. $\endgroup$
    – maj
    Aug 24, 2015 at 16:58

1 Answer 1


Would this work for you,

 names(iris)[apply(iris, 2, function(x) any(grepl("rsi", x)))]
  • $\begingroup$ Works perfectly! I should have been able to think of that. Thanks for this simple and elegant solution. $\endgroup$
    – Drj
    Aug 24, 2015 at 20:05

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.