因素水平和零差异

时间:2016-11-11 10:18:59

标签: r naivebayes

使用klaR软件包运行Naive Bayes时遇到此错误。

我想分享数据以便复制,但我有一些限制,因为我不确定发生了什么,我无法创建一个可以重新创建自己的数据集。我希望有人读到这篇文章之前可能遇到并克服了这个错误。

这是错误:

Error in if (any(temp)) stop("Zero variances for at least one class in variables: ",  : 
      missing value where TRUE/FALSE needed

我已经在网上发现了一些帖子: herehere

从我可以收集到的内容中,我有一些级别在我的数据中有1个或0个实例。

麻烦是我找不到任何东西。我试过这个:

sapply(df, function(x) table(x))

看看是否有任何返回的表显示了一个零或一个实例,但有近400个虚拟变量我看不到 - 所有我至少都有几个0或1个因子级别的实例。

是否可以告诉R突出显示导致问题的级别?我不确定我的下一步行动,因为我找不到任何可能是罪魁祸首的等级。

1 个答案:

答案 0 :(得分:1)

问题出在正在测试的情况下,您可以使用以下方法重现错误:

if (NA) {
    print("ERROR")
}

您可以将其更正为anyNA(temp)any(is.na(temp))

如果错误确实出现在差异消息上,您可以使用sapply(df, function(x){length(table(x)) == 1}进行测试。

相关问题