如何解决makeClassifTask 中的错误 - 要加入的列必须指定“on=”
我在这里收到来自 MLR 包的 makeClassifTask() 的错误。
task = makeClassifTask(data = data[,2:20441],target='Disease')
输入这个我得到这个错误。
提供的数据不是纯data.frame,而是来自类data.table,因此会被转换。
[.data.table
(data,target) 中的错误:
当 i 是 data.table(或字符向量)时,必须使用 'on=' 参数(参见 ?data.table),通过键入 x(即已排序,并标记为已排序,参见 ? setkey),或者通过在 x 和 i 之间共享列名(即自然连接)。由于 x 在 RAM 中排序,键控连接可能对非常大的数据具有进一步的速度优势。
如果有人能帮我,那就太好了。
解决方法
鉴于您没有提供数据,我只能做一些猜测并建议阅读 https://mlr3book.mlr-org.com/tasks.html 上的文档。
您似乎遗漏了数据集中可能是您的目标的第一列。因此 makeClassifTask()
找不到您的目标列。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。