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@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.

______________________________________________
R-help@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.

Reply via email to