如何在sas中为虚拟变量赋值

时间:2014-08-06 03:55:49

标签: sas proc

我有一个数据集,其中包括城市,州和索赔以及费用

 City       state       Claims       Model
 Mumbai    Karnataka    200000      Honda city
 Bangalore Maharastra   190000      Ford
 Kochi      Kerala      150000      honda city

我为模型创建了虚拟变量。我想在虚拟变量中计算声明的值。实例如下。我希望我的数据集看起来像这样。

 City       state       Claims       Model        HondaCity    Ford
 Mumbai    Karnataka    200000      Honda city     200000      0
 Bangalore Maharastra   190000      Ford           0           190000
 Kochi      Kerala      150000      honda city     150000      0

而不是0/1虚拟,我想将声明值归入模型变量。我的目标是预测基于风险的溢价。我怎么能这样做?

1 个答案:

答案 0 :(得分:0)

如果您仍需要此方面的帮助(或供将来参考),以下代码会将第一个数据集转换为第二个数据集:

proc sql;
    create table new_table as
    select 
        a.*
        ,case when upper(model) = "HONDA CITY" then claims else 0 end as HondaCity
        ,case when upper(model) = "FORD" then claims else 0 end as Ford
    from old_table as a;
quit;