如何删除R数据框中的列

时间:2015-08-12 20:44:28

标签: r dataframe

df <- data.frame(vin, make, model, year, category)

我想删除/删除列,“年”和“类别”,并将它们放在新视图中

1 个答案:

答案 0 :(得分:1)

我们可以使用setdiff获取除“&#39; year&#39;”之外的所有列。和&#39;类别&#39;。

 df1 <- df[setdiff(colnames(df), c('year', 'category'))]
 df1
 #  vin make model
 #1   1    A     D
 #2   2    B     E
 #3   3    C     F

包括@Frank和@Ben Bolker的评论。

我们可以将列分配为NULL

  df$year <- NULL
  df$category <- NULL

或者使用subset中的base Rselect中的dplyr

  subset(df, select=-c(year, category))
  library(dplyr)
  select(df, -year, -category)

数据

df <- data.frame(vin=1:3, make=LETTERS[1:3], model=LETTERS[4:6],
           year=1991:1993, category= paste0('GR', 1:3))