尝试运行派对的cforest时出现基本错误

时间:2016-10-11 01:44:34

标签: r random-forest party

尝试运行R party package' cforest并做一些基本上错误的事情。

这是我的示例数据:

set.seed(1)
pred.mat <- matrix(rnorm(100*10),nrow=100)
colnames(pred.mat) <- paste("feature",1:10,sep="")
df <- cbind(data.frame(y=round(runif(100))),pred.mat)

尝试运行cforest

library(party)
crf.fit <- cforest(y~.,data=df)

我收到此错误:

Error in mget(plabels[hasSubclass], env) : invalid first argument

我做错了什么?

1 个答案:

答案 0 :(得分:0)

在当前版本的R和party中,您的代码对我没有任何问题。此外,mget(plabels[hasSubclass], env)包中有问题的代码party ,但它来自methods使用的基本party包。我怀疑您的安装在某种程度上是不同步的,例如,在升级R版本之后,您没有在库中重新安装软件包。因此,您可以尝试运行update.packages(..., checkBuilt = TRUE)或其他内容来重新安装库中的包。希望这可以解决上面的问题。

关于你的人工例子的另一个评论:变量y是一个数字0/1虚拟变量,但我假设你真的想做分类而不是回归。所以我建议做

df$y <- factor(df$y)

在拟合cforest()之前。这将确保在学习树期间使用适当的测试统计数据 - 并生成正确的预测等。