【发布时间】:2017-02-03 07:43:06
【问题描述】:
我有一个 data.table “结果”,它是 R 中 arules 包中 eclat() 的输出。
lhs rhs sup conf lift itemset
1: {XXXXXXXXXXX} {XXXXXXXXOOO} 0.001635323 1.0000000 611.50000 1
2: {XXXXXXXXOOO} {XXXXXXXXXXX} 0.001635323 1.0000000 611.50000 1
3: {XXXXX00XXXX} {XXXXXX0XXXX} 0.001635323 1.0000000 32.18421 2
4: {XXXXXXX00XX} {XXX0XXXXXXX} 0.001635323 0.5000000 203.83333 3
5: {XXX0XXXXXXX} {XXXXXXX00XX} 0.001635323 0.6666667 203.83333 3
我想替换“结果”的 lhs 和 rhs 列中的“{”和“}”。我只能使用以下语句运行 gsub 并返回带有 lhs 和 rhs 值的 data.table:
result[,lapply(.SD,gsub,pattern = "{",replacement = "",fixed = T),.SDcols=c("lhs","rhs")][,lapply(.SD,gsub,pattern="}",replacement="",fixed=T)]
我得到的输出:
lhs rhs
1: XXXXXXXXXXX XXXXXXXXOOO
2: XXXXXXXXOOO XXXXXXXXXXX
3: XXXXX00XXXX XXXXXX0XXXX
4: XXXXXXX00XX XXX0XXXXXXX
5: XXX0XXXXXXX XXXXXXX00XX
但我也想保留 sup、conf、lift 和 itemset 的值。
预期输出:
lhs rhs sup conf lift itemset
1: XXXXXXXXXXX XXXXXXXXOOO 0.001635323 1.0000000 611.50000 1
2: XXXXXXXXOOO XXXXXXXXXXX 0.001635323 1.0000000 611.50000 1
3: XXXXX00XXXX XXXXXX0XXXX 0.001635323 1.0000000 32.18421 2
4: XXXXXXX00XX XXX0XXXXXXX 0.001635323 0.5000000 203.83333 3
5: XXX0XXXXXXX XXXXXXX00XX 0.001635323 0.6666667 203.83333 3
如何获取其余列的名称?
【问题讨论】:
标签: r data.table