我是R的新手,所以请原谅任何看似过于明显的事情。
我使用apriori来评估频繁的项目集。当我执行下面的代码并且我的子集调用返回项目时,一切都很好。问题是当子集上没有返回任何内容时(条件不返回子集)。当它这样做时,我收到"对象规则匹配LHS'找不到"在尝试构造输出数据帧时。在ifelse线上检查rulesMatchLHS的有效性时,能否告诉我我做错了什么?
rules <- apriori(trnew, parameter=list(supp=0.01, conf=0.5, minlen=2, maxlen=2))
rulesMatchLHS <- subset(rules, lhs %ain% dataset1)
ifelse(exists(rulesMatchLHS),
OutputClient <- data.frame(lhs=labels(lhs(rulesMatchLHS))$elements, rhs=labels(rhs(rulesMatchLHS))$elements,rulesMatchLHS@quality),
OutputClient <- data.frame())
View(OutputClient)
答案 0 :(得分:0)
子集返回一个空数据框。所以它确实存在。还存在要求参数是字符串。您可能希望在ifelse中更改exists to nrow。这是一个简单的例子来说明:
test <- subset(iris, Species == "Fake")
typeof(test)
exists("test")
nrow(test) == 0