我有一个包含一列名称的大型数据框,并根据我的数据的性质重复这些名称。我还有一个我需要从该数据帧中消除的那些名称子集的向量。所以我想确定每个实例的行号,数据框中的名称与要删除的名称列表中的名称相匹配。这是我正在尝试做的一个例子......但我无法让代码工作。谢谢!
a=c("tom", "bill", "sue", "jim", "tom", "amy")
b=c(12,15,7,22,45,5)
ab=data.frame(a,b)
ab
drop=which(ab$a==c("tom", "sue")) #only identifies those matching "tom"
drop
ab2=ab[-drop,]
ab2
答案 0 :(得分:9)
您正在寻找%in%
drop=which(ab$a %in% c("tom", "sue"))
然而,更简洁:
ab[!ab$a %in% c('tom', 'sue'),]
答案 1 :(得分:1)
你应该看一下sqldf包。 您可以在R数据帧上执行SQL选择。