id x
1 a,b,c
2 a,d,e,f
如何将x中用逗号隔开的数值一个个提取出来做为新变量?
希望的结果:
id x x1 x2 x3 x4
1 a,b,c a b c
2 a,d,e,f a d e f
现在我用的是比较笨的办法,先算出数据中x用逗号隔开的数值的最大个数(这里是4个),再用do 和array来做
data test;
input id x:$32.;
cards;
1 a,b,c
2 a,d,e,f
;
data test2;
set test;
array a {4} $ x1-x4;
do i=1 to 4;
a{i}=scan(x,i);
end;
run;
有没有比较高级的技巧,比如,先确定x这个变量用逗号隔开的数值的最大个数(例如n),然后自动生成x1-xn新变量,将x中对应的数值填充进去,若x中用逗号隔开的数值个数小于n,则放空值。
谢谢指教。



雷达卡



京公网安备 11010802022788号







