问题说明
报错记录
Error in methodTry(mlist[mi], i, vls) :
task 19 failed - "one multinomial or binomial class has 1 or 0 observations; not allowed"
报错分析
对于我出现的这个错误,大体意思是在运行种子19时(并行计算相关的),我的methodTry(mlist[mi], i, vls)函数中的错误。这个时候就要从函数里拆分追踪,一步步找错了。看了一下大体是使用R包-glmnet进行逻辑回归的时候,0-1极端比例的问题。
解决方案
自己对特殊种子下的数据进行条件判断,比如0-1比例太极端的话,就跳过或者赋值NA之类的。
if(condition){
……
}else{
……
}
写在最后的话
其实写一个好代码很难,尤其是在模拟跑重复的时候,总会出现这样那样的问题。就是深一脚浅一脚的走吧。永远不会有完美的代码,而且即便我们写了好多好多的if-else语句来预见性的判断错误,都不可避免的会出现BUG。没关系的,现在我觉得,出现BUG并不可怕,可怕的是被不断出现的BUG打击掉自信心。
安啦,人工智能还没来呢。它还是属于“傻瓜机器”。其实机器本身并没有故意刁难或者刻意奉承,它只是听话且乖巧的执行你赋予它的命令,所以就出现错误-解决错误-再出现错误-再解决错误。如此便可,千万别费时间在沮丧上,冲啊!