[R] Drop column from a data frame

jim holtman jholtman at gmail.com
Mon Dec 27 02:30:27 CET 2010


assign NULL to the column:

> dfxyz <- data.frame(x=1:10,y=11:20,z=factor(c(rep(0,5),rep(1,5))))
> dfxyz
    x  y z
1   1 11 0
2   2 12 0
3   3 13 0
4   4 14 0
5   5 15 0
6   6 16 1
7   7 17 1
8   8 18 1
9   9 19 1
10 10 20 1
> dfxyz$y <- NULL
> dfxyz
    x z
1   1 0
2   2 0
3   3 0
4   4 0
5   5 0
6   6 1
7   7 1
8   8 1
9   9 1
10 10 1
>


On Sun, Dec 26, 2010 at 8:22 PM, John Sorkin
<jsorkin at grecc.umaryland.edu> wrote:
> I am trying to drop a column of a data frame. The code below attempts to drop a numeric column (which does not work but gives no error or warning) and a factor column (which does not work but gives an error).
> I would appreciate someone telling me why my code does not work, and suggesting code that will work.
> Thanks,
> John
>
> rm(dfxyz,dfxz,dfxy)
>
> # create the data frame.
> dfxyz <- data.frame(x=1:10,y=11:20,z=factor(c(rep(0,5),rep(1,5))))
> dfxyz
>
> names(dfxyz)
>
> # try to drop y column
> # does not work, does not produce error message
> dfxz <- dfxyz[,-(dfxyz$y)]
> dfxz
>
> # try to drop z column
> # does not work, produces error message:
> # In Ops.factor(df$z) : - not meaningful for factors
> dfxy <- dfxyz[,-dfxyz$z]
> dfxy
>
>
>
> John David Sorkin M.D., Ph.D.
> Chief, Biostatistics and Informatics
> University of Maryland School of Medicine Division of Gerontology
> Baltimore VA Medical Center
> 10 North Greene Street
> GRECC (BT/18/GR)
> Baltimore, MD 21201-1524
> (Phone) 410-605-7119
> (Fax) 410-605-7913 (Please call phone number above prior to faxing)
>
> Confidentiality Statement:
> This email message, including any attachments, is for ...{{dropped:17}}



More information about the R-help mailing list