У меня есть эта таблица данных называется tmp.df.lhs.denorm, которые я представил первые 2 ряда впереди:R создать столбцы таблицы данных динамически
> dput(tmp.df.lhs.denorm[1:2])
structure(list(rules = c("{} => {Dental anesthetic products-Injectables cartridges|2288210-Septocaine Cart 4% w/EPI}",
"{Dental small equipment-Water distiller parts & acc|5528005-EzeeKleen 2.5HD UV Lamp1,Dental small equipment-Water distiller parts & acc|5528005-EzeeKleen 2.5HD UV Lamp2} => {Dental small equipment-Water distiller parts & acc|5528004-EzeeKleen 2.5HD RO Membra}"
), support = c(0.501710236989983, 0.000610798924993892), confidence = c(0.501710236989983,
1), lift = c(1, 1637.2), rule.id = 1:2, lhs_1 = c(NA, "Dental small equipment-Water distiller parts & acc|5528005-EzeeKleen 2.5HD UV Lamp1"
), lhs_2 = c(NA, "Dental small equipment-Water distiller parts & acc|5528005-EzeeKleen 2.5HD UV Lamp2"
)), .Names = c("rules", "support", "confidence", "lift", "rule.id",
"lhs_1", "lhs_2"), class = c("data.table", "data.frame"), row.names = c(NA,
-2L), .internal.selfref = <pointer: 0x0000000007120788>)
Примечание столбцы lhs_1 и lhs_2, которые являются продуктом ул расколу по правилам столбцов.
Моя проблема заключается в том, что для разных данных правила столбцов могут содержать различное количество правил, разделенных запятой, например. Я мог бы получить 3 столбца lhs_1, lhs_2 и lhs_3 и т. Д., В зависимости от количества запятых, которые у меня есть в правилах столбца. Решение состоит в том, чтобы определить фиксированное количество столбцов lhs_ * (параметр в моем коде, скажем, 6), где этот конкретный пример dt tmp.df.lhs.denorm будет объединен с дополнительными 4 пустыми столбцами по имени lhs_3, lhs_4, lhs_5 и lhs_6. Любая помощь оценили
Не очень понятно. Просьба уточнить. Где вы используете 'max_len'? – Sotos
max_len - это глобальный параметр, который задается в файле конфигурации. – NRG
Я думаю [этот ответ] (http://stackoverflow.com/a/26899992/5977215) решит это. – SymbolixAU