包含使用arules的函数的问题

时间:2016-03-07 17:54:47

标签: r package match arules

我正在使用R并尝试将一堆函数组装到一个包中。其中一个函数使用包arules从数据集中挖掘规则,对它们进行子集化并获得其他兴趣度量。

我遇到了对它们进行子集化的问题。

rules <- apriori(trainingTrans, parameter = list(support = 0.005, confidence = 0.0, maxlen = 6)  
rulesCases <- subset(rules, subset = rhs %in% "event")

只要我已经加载了arules,函数就可以在包外部工作,但是无论我是将arules设置为Depends,Imports还是将函数用库调用它(arules)都不能在包中工作)。显示的错误是'匹配'需要矢量参数。我认为Arules有自己的匹配版本来解决这个问题,我尝试过arules :: match(rhs,“event”),但我仍然遇到同样的问题。

2 个答案:

答案 0 :(得分:0)

问题是它找不到%in的正确版本。可能这有效:

rulesCases <- subset(rules, subset = arules::"%in%"(rhs, "event"))

如果您导入arules,则不需要这样做,但似乎有些奇怪的事情发生。我希望这将在未来的arules版本中得到解决。

答案 1 :(得分:0)

我的包中遇到了同样的问题,并且能够修复它:

语法subset(rules, subset = arules::"%in%"(rhs, "event"))强制在包中使用正确版本的%in%,正如Michael Hahsler所注意到的那样

rhsrules不再相关,因此需要使用rules@rhs

进行重新预处理

所以正确的语法应该是subset(rules, subset = arules::"%in%"(rules@rhs, "event"))

它为我的包做了工作,包含

的DESCRIPTION文件
LinkingTo: arules
Imports: arules

library(arules)没有进一步使用。