R动态创建数据表列

时间:2016-12-25 09:44:07

标签: r data.table strsplit splitstackshape

我有一个名为tmp.df.lhs.denorm的数据表,我提前了前两行:

fscanf(database, "%[\n]\n", buffer);

注意列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。 任何帮助表示赞赏

1 个答案:

答案 0 :(得分:0)

我找到了解决这个问题的解决方法:

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)