我是R的新手,所以请原谅任何看起来过于明显的内容。

我正在使用apriori评估频繁的项目集。当我执行下面的代码并且我的子集调用返回项目时,一切正常。问题在于子集中什么都没有返回(条件没有子集返回)。这样做时,尝试构建输出数据框时收到“找不到'rulesMatchLHS'对象”。在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)

最佳答案

子集返回一个空的数据帧。所以它确实存在。还存在要求该参数为字符串的情况。您可能想将存在更改为在ifelse中增加。这是一个简单的示例来演示:

test <- subset(iris, Species == "Fake")
typeof(test)
exists("test")
nrow(test) == 0

关于r - 检查R中是否存在对象,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/43172790/

10-10 13:20