[R] how to NULL multiple variables of a df efficiently?

markleeds at verizon.net markleeds at verizon.net
Tue Feb 24 21:18:55 CET 2009


One way is to use %in% like below:

df<-data.frame(var.a=rnorm(10), var.b=rnorm(10),var.c=rnorm(10))
print(df)
df <- df[,!(names(df) %in% c('var.a','var.b')),drop=FALSE]
print(df)



On Tue, Feb 24, 2009 at  3:10 PM, Sean Zhang wrote:

> Dear R-helpers:
>
> I am an R novice and would appreciate answer to the following 
> question.
>
> Want to delete many variables in a dataframe.
> Am able to delete one variable by assigning it as NULL
> Have a large number of variables and would like to delete them without 
> using
> a for loop.
>
> Is there a command/function which does this job?
>
> Many thanks in advance.
>
> -Sean
>
>
> #Small Example:
>
> df<-data.frame(var.a=rnorm(10), var.b=rnorm(10),var.c=rnorm(10))
> df[,'var.a']<-NULL   #this works for one single variable
> df[,c('var.a','var.b')]<-NULL  #does not work for multiple variables
>
> 	[[alternative HTML version deleted]]
>
> ______________________________________________
> R-help at r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-help
> PLEASE do read the posting guide 
> http://www.R-project.org/posting-guide.html
> and provide commented, minimal, self-contained, reproducible code.




More information about the R-help mailing list