无法删除R中的列

时间:2016-03-20 05:18:14

标签: r

我想删除名为ItemID_na和Item.Type1_na的2列。我有以下代码删除。

test_input<-subset(test_input,select = -c(ItemId_na, Item.Type1_na))  

我正在低于错误 -

  

错误:意外的字符串常量   “test_input&lt; -subset(test_input,select = -c(ItemId_na,Item.Type1_na))

你能帮助我,因为我是R的新手。

2 个答案:

答案 0 :(得分:3)

尝试对数据框进行子集化以仅保留所需的列:

drops <- c('ItemId_na', 'Item.Type1_na')
test_input <- test_input[ , !(names(test_input) %in% drops)]

答案 1 :(得分:1)

OP的代码有两个问题。一个是我们不需要引用我们需要删除的列名。其次,select参数不带-个参数。因此,我们可以使用setdiff来获取不是“ItemId_na”或“Item.Type1_na”的列名。

subset(test_input,select = setdiff(names(test_input),
            c("ItemId_na", "Item.Type1_na")))

来自select的{​​{1}}选项采用dplyr选项

-

数据

library(dplyr)
test_input %>%
       select(-ItemId_na, -Item.Type1_na)