尝试运行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
我做错了什么?
答案 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()
之前。这将确保在学习树期间使用适当的测试统计数据 - 并生成正确的预测等。