我想删除名为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的新手。
答案 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)