How do you delete a column by name in data.table?

前端 未结 8 1096
北海茫月
北海茫月 2020-12-02 03:52

To get rid of a column named \"foo\" in a data.frame, I can do:

df <- df[-grep(\'foo\', colnames(df))]

However, once df

8条回答
  •  不知归路
    2020-12-02 04:46

    You can also use set for this, which avoids the overhead of [.data.table in loops:

    dt <- data.table( a=letters, b=LETTERS, c=seq(26), d=letters, e=letters )
    set( dt, j=c(1L,3L,5L), value=NULL )
    > dt[1:5]
       b d
    1: A a
    2: B b
    3: C c
    4: D d
    5: E e
    

    If you want to do it by column name, which(colnames(dt) %in% c("a","c","e")) should work for j.

提交回复
热议问题