smbinning.gen未定义列

时间:2017-02-17 20:09:32

标签: r binning

我想使用smbinning.gen

将smbinning的结果应用于新的数据集

当我使用随机选择的记录和所有相同的列时,新数据集工作正常。当我将smbinning.gen应用于重新排序列的新文件时,我得到一个“未定义的列”消息 - 但仍然是与smbinning.gen

所需的列名相同的列名

我想解决这个问题,并且在其他地方看不到任何提示。是smbinning?或者,我愿意承认,这是我的R代码吗?

    chileancredit.train=subset(chileancredit,FlagSample==1)
    result$ivtable

Cutpoint CntRec CntGood CntBad CntCumRec CntCumGood CntCumBad PctRec GoodRate BadRate 1< = 17 1138 909 229 1138 909 229 0.2405 0.7988 0.2012 2< = 30 621 530 91 1759 1439 320 0.1312 0.8535 0.1465 3< = 63 1064 985 79 2823 2424 399 0.2249 0.9258 0.0742 4> 63 1427 1377 50 4250 3801 449 0.3016 0.9650 0.0350 5缺失482 435 47 4732 4236 496 0.1019 0.9025 0.0975 6总计4732 4236 496 NA NA NA 1.0000 0.8952 0.1048      赔率LnOdds WoE IV 1 3.9694 1.3786 -0.7662 0.1893 2 5.8242 1.7620 -0.3828 0.0223 3 12.4684 2.5232 0.3784 0.0277 4 27.5400 3.3156 1.1708 0.2626 5 9.2553 2.2252 0.0804 0.0006 6 8.5403 2.1448 0.0000 0.5025

据记载,我没有遇到任何问题:

chileancredit.train=subset(chileancredit,FlagSample==1)
result=smbinning(df=chileancredit.train,y="FlagGB",x="TOB",p=0.05) # Run and save result
chileancredit.train=

+ smbinning.gen(chileancredit.train,结果,“gTOB”)#更新培训样本     摘要(chileancredit.train $ gTOB)

<00> 00 Miss 01&lt; = 17 02&lt; = 30 03&lt; = 63 04&gt; 63      587 1724 716 1201 1572

但我注意到结果的属性col_id。如果我在另一个顺序中使用列的子集,则涉及smbinning.gen的列会出错。

result$col_id 
temp2 <- data.frame(TOB=chileancredit$TOB)
temp2 <- smbinning.gen(df=temp2, result, chrname="TEMP_BIN")

[1] 2 因子误差(df [,ncol],labels = blab):   无效的'标签';长度4应为1或1

在另一种情况下(另一个文件),移动列,我收到错误消息

[.data.frame中的错误(df ,, col_id):选择了未定义的列 这是两个文件的数据。

  

STR(TEMP2)   'data.frame':7702 obs。 1个变量:    $ TOB:int 44 79 102 NA 109 183 172 76 136 171 ...   STR(chileancredit.train $ TOB)    int [1:5800] 44 79 102 NA 109 183 172 76 136 171 ...

0 个答案:

没有答案