如何从行中提取单词

时间:2016-03-04 07:21:36

标签: r string

我有一个包含数据的46 MB csv文件。基本上,我只想选择那些特定单词的行,如#34; PRODUCT"。这些数据有600 000行。我使用grep()来搜索字符串匹配。以下是我的几行数据。

head(test)
                                                            Item.Description UQC Year
1                   PHARMACEUTICALS PRODUCTS.(MEDICINE) DOLEYKA SYRUP 100 ML NOS 2015
2                           Multani mati hesh100gm x 160 (AyurvedicProducts) PAC 2015
3             Amla /Shikakai/ Aritha powder 100gm x 160 (Ayurvedic Products) PAC 2015
4                            Godrej h.dye blk 40ml x 36 (Ayurvedic Products) PAC 2015
5 DR. COOLERS HERBAL LOZENGES.(2) DR. COOLERS HERBAL LOZENGES (MINT FLAVOUR) PAC 2015
6                          Eno lemon/ regular 100gm x 48 (AyurvedicProducts) PAC 2015
  Identifier RITC.Code
30049099
30049011
30049011
30049011
30049011
30049011

我使用过test[grep("PRODUCT", rownames(test)), ]。它给了我一个错误。

2 个答案:

答案 0 :(得分:0)

  1. 使用ms-excel打开csv文件
  2. 转到菜单'数据'然后点击“过滤”
  3. 在过滤器下拉列表中选择'文本过滤器'然后选择'包含'
  4. 然后输入word' product'
  5. list包含word' product'将被过滤

答案 1 :(得分:0)

1)尝试grepl,它效果更好。 2)大写/小写在这里很重要,你的文本中都有这两个。

所以试试:

1)测试$ Item.Description< - tolower(test $ Item.Description) 2)产品< - test [grepl(“product”,test $ Item.Description),]。

是的,使用所需列(ItemDescription)而不是rownames也很重要