代码非常简单:
data test (keep = state state_num);
set raw1314.accident2013_prf;
state_num= put(state,z2.);
run;
变量“state”包含状态名称,该程序的输出为:
Obs STATE state _num
1 Alabama 01
但是不是“put”函数用于将数值转换为字符值吗?为什么在这里将“Alabama”映射到“01”?
提前致谢。
答案 0 :(得分:2)
您的变量STATE必须是数字(1)并且应用了格式或应用了格式的字符(01)。如果它是阿拉巴马州的字符值,则不会发生这种情况。
data _null_;
x=put('Alabama', z2.);
put x;
run;
结果:
55
56 data _null_;
57 x=put('Alabama', z2.);
___
484
NOTE 484-185: Format $Z was not found or could not be loaded.
58 put x;
59 run;
Al