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

Christos Hatzis christos.hatzis at nuverabio.com
Tue Feb 24 21:24:13 CET 2009


Setting to NULL works only if a single column is selected.
More generally,

df[, !(colnames(df) %in% c("var.b", "var.c")), drop=FALSE]

-Christos  

> -----Original Message-----
> From: r-help-bounces at r-project.org 
> [mailto:r-help-bounces at r-project.org] On Behalf Of Sean Zhang
> Sent: Tuesday, February 24, 2009 3:10 PM
> To: r-help at r-project.org
> Subject: [R] how to NULL multiple variables of a df efficiently?
> 
> 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