У меня есть список из 50K + номеров деталей. Мне нужно сгруппировать их по типу продукта. Номера деталей, как правило, расположены рядом друг с другом в последовательности, хотя они не являются абсолютно последовательными. Описание продукта всегда похоже, но не соответствует оптимальным правилам. Позвольте мне проиллюстрировать это следующей таблицей.
| PartNo | Description | ProductType |
|--------|-------------|-------------|
|A000443 |Water Bottle | Water |
|A000445 |Contain Water| Water |
|A000448 |WaterBotHold | Water |
|HRZ55 |Hershey_Bar | Energy Bar |
|RRB55 |Candy Energy | Energy Bar |
|QMU55 |Bar Protein | Energy Bar |
Я не знаю типы продуктов заранее. Регулярное выражение stringR должно быть достаточно умным, чтобы генерировать тип продукта из описания деталей. Я новичок, только пробивающийся через R для Data Science , и это кажется достижимым, хотя и трудным.
Как бы вы справились с этой проблемой? То, с чем я на самом деле работаю, показано ниже. Ожидается, что мой синтаксис stringR заполнит столбец ProductType.
| PartNo | Description | ProductType |
|--------|-------------|-------------|
|A000443 |Water Bottle | |
|A000445 |Contain Water| |
|A000448 |WaterBotHold | |
|HRZ55 |Hershey_Bar | |
|RRB55 |Candy Energy | |
|QMU55 |Bar Protein | |
Вот воспроизводимый пример, чтобы заставить мяч катиться.
library(tidyverse)
library(stringr)
df <- tribble(
~PartNo, ~Description, ~ProductType,
"A000443", "Water Bottle", "",
"A000445", "Contain Water", "",
"A000448", "WaterBotHold", "",
"HRZ55", "Hershey_Bar", "",
"RRB55", "Candy Energy", "",
"QMU55", "Bar Protein", ""
)