将向量列表与所需的字符串匹配进行比较-如果不匹配,则删除DF行R

时间:2019-01-17 20:34:00

标签: r data-cleaning stringr

我有兴趣创建一个包含关键字的向量,这些关键字是单独数据框的类别列中所包含内容的正确标题。我希望能够创建一个函数,以比较类别列与关键字向量的匹配项,如果不存在,则从数据框中删除不正确的行。

以下是所需关键字的示例:

“当前股价”,“当前资产净值”,“当前溢价/折扣”,“ 52WkAvg股价”,“ 52WkAvg资产净值”,“ 52WkHigh溢价/折扣”等。

我正在尝试从一张大桌子上除去一些边缘情况,清洁后的结果如下:

“ 52WkLow NAV 52wLow”

这是由于缺少数据而发生的。另外,作为冗余检查,打印或存储在清洗中删除了整行的记录将非常有帮助。

1 个答案:

答案 0 :(得分:0)

使用dplyr

filter(df, category %in% keywords)

(和删除的行:)

filter(df, !(category %in% keywords))

基础:

df[df$category %in% keywords,]

已删除的行:

df[!(df$category %in% keywords),]