代码很简单:
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"函数不是用来将数值转换为字符值的吗?为什么它把阿拉巴马映射到01 ?
变量STATE必须是数字(1)并应用了格式,或者是字符(01)并应用了格式。如果它是Alabama的字符值,就不会发生这种情况。
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