Check if a Variable Exists in R

December 5, 2013

(This article was first published on Mollie's Research Blog, and kindly contributed to R-bloggers)

If you use attach, it is easy to tell if a variable exists. You can simply use exists to check:

[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")

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


To leave a comment for the author, please follow the link and comment on his blog: Mollie's Research Blog. offers daily e-mail updates about R news and tutorials on topics such as: visualization (ggplot2, Boxplots, maps, animation), programming (RStudio, Sweave, LaTeX, SQL, Eclipse, git, hadoop, Web Scraping) statistics (regression, PCA, time series, trading) and more...

If you got this far, why not subscribe for updates from the site? Choose your flavor: e-mail, twitter, RSS, or facebook...

Comments are closed.