2017-04-17 77 views
0

我试图创建一个随机森林R,使用下面的代码:随机森林下标越界出错?

forest <- 
randomForest(Responder_7yr ~ CD4_num_log + CD8_num_log + anergy_CD8_num_log + 
      anergy_CD4_num_log + part_exhaust_CD8_num_log + exhaustion_CD8_num_log + 
      exhaustion_CD4_num_log + senescence_CD8_num_log + 
      senescence_CD4_num_log + tcm_CD4negCD8pos_num_log + 
      nTreg_CD4posCD8neg_num_log + ln_cpep + A1C + Ins, 
      data=resp, na.action=na.omit, importance=TRUE) 

,我发现了以下错误:

Error in `[.default`(table(observed = y, predicted = out.class), levels(y), : 
    subscript out of bounds 

我已经证实了所有预测都是正确的格式,结果以因子格式。任何帮助是极大的赞赏!

回答

2

检查您的数据以查看各种预测变量和结果的分布。您可能会发现某些预测因子水平或结果水平非常偏高,或者某些结果或预测因子水平非常罕见。当我试图用经过严格调整的随机森林来预测一个非常罕见的结果时,我得到了这个错误,所以一些预测因子水平实际上并不在训练数据中。因此,训练数据认为超出界限的测试数据中会出现一个因素级别。