регулярное выражение для извлечения повторяющегося слова с R stringR - PullRequest
0 голосов
/ 11 мая 2018

У меня есть список из 50K + номеров деталей. Мне нужно сгруппировать их по типу продукта. Номера деталей, как правило, расположены рядом друг с другом в последовательности, хотя они не являются абсолютно последовательными. Описание продукта всегда похоже, но не соответствует правилам. Позвольте мне проиллюстрировать это следующей таблицей.

| PartNo | Description | ProductType |
|--------|-------------|-------------|
|A000443 |Water Bottle |    Water    |
|A000445 |Contain Water|    Water    |
|A000448 |WaterBotHold |    Water    |

Я не знаю типы продуктов заранее. Регулярное выражение stringR должно быть достаточно умным, чтобы генерировать тип продукта из описания деталей. Я предполагаю, что стратегия состоит в том, чтобы найти повторяющееся слово, а затем вытащить его, преобразовать в столбец ProductType .

Как бы вы справились с этой проблемой? То, с чем я на самом деле работаю, показано ниже. Ожидается, что мой синтаксис stringR заполнит столбец ProductType.

| PartNo | Description | ProductType |
|--------|-------------|-------------|
|A000443 |Water Bottle |             |
|A000445 |Contain Water|             |
|A000448 |WaterBotHold |             |

Вот воспроизводимый пример, чтобы заставить мяч катиться.

library(tidyverse)
library(stringr)
df <- tribble(
  ~PartNo, ~Description, ~ProductType, 
  "A000443", "Water Bottle", "",
  "A000445", "Contain Water", "",
  "A000448", "WaterBotHold", ""
)
...