[R] subsetting a dataframe

Douglas Grove dgrove at fhcrc.org
Mon Apr 7 20:47:53 CEST 2003


> How does one remove a column from a data frame when the name of
> the column to remove is stored in a variable?
> 
> For Example:
> 
> colname <- "LOT"
> 
> newdf <- subset(olddf,select = - colname)


This is how I do it.  There are variations on this
and I'm sure totally different ways as well.

newdf <- newdf[, names(newdf) != colname]


If 'colnames' is a vector (i.e. if you have multiple columns
to delete) then do:


newdf <- newdf[, !(names(newdf) %in% colname)]

This command will work even if 'colname' is not a vector


Doug


 
> The above statement will give an error, but thats what I'm trying to 
> accomplish.
> 
> If I had used:
> 
> newdf <- subset(olddf,select = - LOT)
> 
> then it would have worked, but as I said the column name is stored in a 
> variable
> so I can't just enter it explicity.
> 
> Thanks.
> 
> ______________________________________________
> R-help at stat.math.ethz.ch mailing list
> https://www.stat.math.ethz.ch/mailman/listinfo/r-help
>



More information about the R-help mailing list