如何按列中的成员进行筛选

时间:2017-06-22 10:53:14

标签: r filter data.table

我的数据表中有一列如下所示: 类别 _________ {一个} {B} {C} {A,B} {A,C} {C} {出租车} {一个} {A,C} 由此 我想选择A所属的行所在的位置。我目前正在使用 DT [类别==" {A}"] 过滤掉category = A的行但不是这个我希望有一个类别包含A的行(就像postgres中的成员一样)。任何帮助表示赞赏。

2 个答案:

答案 0 :(得分:2)

# Data
df <- read.delim(textConnection('Category
{A}
{B}
{C}
{A,B}
{A,C}
{C}
{C,A,B}
{A}
{A,C}'))


# Slice, keeping only rows in 'Category' containing character 'A'
subset(df, grepl('A', Category))

  Category
1      {A}
4    {A,B}
5    {A,C}
7  {C,A,B}
8      {A}
9    {A,C}

答案 1 :(得分:0)

grep应该派上用场

DT[grep('A',DT$Category,ignore.case = FALSE),]