as(data, "transactions") 中的错误:没有将“数据”强制为“交易”的方法或默认值

Error in as(data, "transactions"): no method or default for coercing “data” to “transactions”

在我写的一个小脚本中,我成功调用了

library(arules)
trans <- as(data, "transactions")

现在我想将它包含在我的 R 包中的一个函数中。 arules 被导入,我使用 :: 调用 arules 函数。但是,as 不起作用。它给了我上面的错误消息,这表明它不知道如何处理 transactions。在我可以导入的 arules 包中没有 as.transactions 或类似内容。

显示如何从包中导入运算符。我想我的问题有类似的东西,我只是不知道要寻找什么。

我需要做什么才能让 as 理解 transactions 是什么?

经过更多的搜索,我在 Hadley Wickham 的 Advanced R. transactions is an S4 class, as can be seen in arules' source 中找到了答案。要导入 S4 class,我们只需在我们使用 class 的函数头部上方放置一个 roxygen 样式 @importClassesFrom

#' @importClassesFrom arules transactions

可能还需要将 methods 包添加到导入中,因为 S4 功能已在那里实现。