簡體   English   中英

R動態創建數據表列

[英]R create data table columns dynamically

我有一個名為tmp.df.lhs.denorm的數據表,它在前面提供了前兩行:

    > 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是str在列規則上拆分的乘積。

我的問題是,對於不同的數據,列規則可能包含用逗號分隔的不同數量的規則,例如,我可能已經獲得3列lhs_1,lhs_2和lhs_3等,這取決於我在列規則中有多少個逗號。 解決方案是確定固定數量的lhs_ *列(我的代碼中的參數為6),其中此特定示例dt tmp.df.lhs.denorm將與其他4個空列合並,名稱為lhs_3,lhs_4 ,lhs_5和lhs_6。 任何幫助表示贊賞

我找到了一種解決方法,可以完成這項工作:

tmp.df.lhs.denorm.art <- data.table(rules = character(),
                                         support = numeric(),
                                         confidence = numeric(),
                                         lift = numeric(),
                                         rule.id = integer(),
                                        lhs_1 = character(),
                                        lhs_2 = character(),
                                        lhs_3 = character(),
                                        lhs_4 = character(),
                                        lhs_5 = character(),
                                        lhs_6 = character()
                                      )
  tmp.df.lhs.denorm.complete <- rbindlist(list(tmp.df.lhs.denorm, tmp.df.lhs.denorm.art), fill=TRUE)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM