0

私は tmp.df.lhs.denorm と呼ばれるこのデータ テーブルを持っており、最初の 2 行を先に提供しました。

    > 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>)

列ルールの str 分割の積である列 lhs_1 と lhs_2 に注意してください。

私の問題は、さまざまなデータの場合、列ルールにコンマで区切られたさまざまな数のルールが含まれる可能性があることです。たとえば、列ルールに含まれるコンマの数に応じて、 lhs_1 、 lhs_2 、 lhs_3 などの 3 つの列を取得できます。解決策は、固定数の lhs_* 列 (私のコードのパラメーター、たとえば 6 としましょう) を決定することです。この特定の例では、dt tmp.df.lhs.denorm が lhs_3、lhs_4 という名前の追加の 4 つの空の列とマージされます。 、lhs_5 および lhs_6。任意の支援をいただければ幸いです

4

1 に答える 1