进程HPBIN中的SAS错误。。。。错误:类变量

进程HPBIN中的SAS错误。。。。错误:类变量,sas,Sas,我运行了此查询并收到以下错误消息: 错误:num\u\u iva是类变量,仅支持区间变量。 /*WoE and IV Analysis*/ proc hpbin data=train numbin=5; input monthly_installment loan_balance bureau_score2 num_bankrupt_iva time_since_bankrupt num_ccj2 time_since_ccj ccj_amount num_bankrup

我运行了此查询并收到以下错误消息:

错误:num\u\u iva是类变量,仅支持区间变量。

/*WoE and IV Analysis*/
proc hpbin data=train numbin=5;
    input monthly_installment loan_balance bureau_score2    num_bankrupt_iva time_since_bankrupt
    num_ccj2 time_since_ccj ccj_amount  num_bankrupt    num_iva min_months_since_bankrupt
    ltv arrears_months  origination_date maturity_date arrears_status   arrears_segment 
    mob remaining_mat loan_term live_status repaid_status /*year quarter*/ 
    month worst_arrears_status max_arrears_12m  recent_arrears_date months_since_2mia
    avg_mia_6m max_arrears_bal_6m max_mia_6m    avg_bal_6m  avg_bureau_score_6m
    cc_util annual_income emp_length months_since_recent_cc_delinq;
    ods output mapping=mapping;
run;
日志会显示以下错误:

NOTE: Binning methods: BUCKET BINNING .
ERROR: num_bankrupt_iva is class variable, only interval variable is supported.
ERROR: time_since_bankrupt is class variable, only interval variable is supported.
ERROR: time_since_ccj is class variable, only interval variable is supported.
ERROR: ccj_amount is class variable, only interval variable is supported.
ERROR: num_bankrupt is class variable, only interval variable is supported.
ERROR: num_iva is class variable, only interval variable is supported.
ERROR: min_months_since_bankrupt is class variable, only interval variable is supported.
ERROR: recent_arrears_date is class variable, only interval variable is supported.
ERROR: months_since_2mia is class variable, only interval variable is supported.
ERROR: avg_bureau_score_6m is class variable, only interval variable is supported.
NOTE: The number of bins is: 5.
NOTE: The HPBIN procedure is executing in single-machine mode.

似乎日志中的所有这些变量都被指定为输入数据集中的字符。您需要使用
input()
函数将它们转换为数字。或者,您可以将它们乘以1,让SAS自动进行转换

data want;
    set have;
    numvar = input(classvar, 8.);
    numvar2 = 1*classvar;
run;

您能否根据可复制的示例提供代码中使用的数据集序列?错误消息似乎与您使用的变量类型有关。