# Check if a Variable Exists in R

[This article was first published on

Want to share your content on R-bloggers? click here if you have a blog, or here if you don't.

If you use **Mollie's Research Blog**, and kindly contributed to R-bloggers]. (You can report issue about the content on this page here)Want to share your content on R-bloggers? click here if you have a blog, or here if you don't.

*attach*, it is easy to tell if a variable exists. You can simply use

*exists*to check:

>attach(df) >exists("varName") [1] TRUE

However, if you don’t use

*attach*(and I find you generally don’t want to), this simple solution doesn’t work.

> detach(df) > exists("df$varName") [1] FALSE

Instead of using

*exists*, you can use

*in*or

*any*from the

**base**package to determine if a variable is defined in a data frame:

> "varName" %in% names(df) [1] TRUE > any(names(df) == "varName") [1] TRUE

Or to determine if a variable is defined in a matrix:

> "varName" %in% colnames(df) [1] TRUE > any(colnames(df) == "varName") [1] TRUE

### References

- https://stat.ethz.ch/pipermail/r-help/2009-June/202178.html
- https://stat.ethz.ch/pipermail/r-help/2011-February/267518.html

To

**leave a comment**for the author, please follow the link and comment on their blog:**Mollie's Research Blog**.R-bloggers.com offers

**daily e-mail updates**about R news and tutorials about learning R and many other topics. Click here if you're looking to post or find an R/data-science job.

Want to share your content on R-bloggers? click here if you have a blog, or here if you don't.