[This article was first published on 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.
If you use attach, it is easy to tell if a variable exists. You can simply use exists to check:Want to share your content on R-bloggers? click here if you have a blog, or here if you don't.
>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.
< !-- HTML generated using hilite.me -->
> 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:
< !-- HTML generated using hilite.me -->
> "varName" %in% names(df) [1] TRUE > any(names(df) == "varName") [1] TRUE
Or to determine if a variable is defined in a matrix:
< !-- HTML generated using hilite.me -->
> "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.