R调用itemFrequency函数报错:无法找到适用于data.frame的继承方法
解决
itemFrequency函数无法处理data.frame的报错问题 我之前也碰到过完全一样的问题!当你拿着名为a的data.frame直接调用itemFrequency函数时:
freq <- itemFrequency(a, weighted = FALSE)
会弹出这个报错:
unable to find an inherited method for function 'itemFrequency' for signature "data.frame"
问题根源
虽然data.frame确实是R中的对象,但itemFrequency(来自arules包,是关联规则挖掘的专用工具)并不直接支持data.frame类型的输入——它专门设计用来处理transactions类型的事务数据对象。
解决步骤
只需要把你的data.frame转换成transactions类型,就能正常调用函数了:
- 执行类型转换:
a1 <- as(a, "transactions") - 再传入
itemFrequency函数:freq <- itemFrequency(a1, weighted = FALSE)
如果转换过程中遇到问题,可以检查下你的data.frame结构是否符合事务数据的要求:通常每行代表一个事务,每列对应一个项目,单元格的值用逻辑值(TRUE/FALSE)或二进制(1/0)表示该项目是否出现在事务中。
内容的提问来源于stack exchange,提问作者Kristian Vybiral
相关产品推荐
相关产品推荐

