R方条件变量错误

时间:2013-08-06 09:22:33

标签: r random-forest party

我有一个包含6个预测变量的数据集(所有变量都是分类变量),响应变量和权重列,以及~3500个观测值。 预测变量的级别从2到7不等。

我为每个预测变量的级别定义了指标变量,例如

retail <- Trade == "RETAIL"

其中Trade是“主要”变量之一,零售是可以承担的价值。

尝试使用以下方法计算条件变量重要性时遇到问题:

rf <- cforest(Actual ~ comp + tpft + abi1 + abi2 + 
              abi3 + abi4 + abi5 + abi6 + abio + builders + 
              clerical + manufacturing + othertrade + retail + 
              tradeunk + wholesale + firstrenewal + newbusiness + 
              renewedtwice + MTyes + MTno + ly9 + ly10 + ly11 + ly12 + ly13, 
              data=table, weights=Expected, controls=data.controls)

imp <- varimp(rf, conditional=TRUE)

comptpft等中的每一个都是主要变量可以采用的类别。

这将返回错误:

Error in names(blocks) <- cond : 
'names' attribute [24] must be the same length as the vector [12]

我不知道如何解决它! traceback给出:

> traceback()
2: conditional_perm(ccl, xnames, input, tree, oob)
1: varimp(rf, conditional = TRUE)

当我只想测试6个主变量时,这个方法有效,所以我很确定指标变量的数量与其他东西的数量不匹配,并且条件= FALSE也带有指标变量作品。任何帮助都将非常感激。

1 个答案:

答案 0 :(得分:0)

我有同样的错误,在对我的数据进行一些实验后,我发现只有包含逻辑预测变量才会发生。将逻辑变量转换为数字为我解决了问题。你不能说你的预测者是逻辑变量,但也许它是一个看起来的方向。