SAS分组合并数据
昨天临睡前看到有人问我sas怎么分组并对数据进行合并,于是写了一个例子,希望对大家有所启发。
合并前的数据集:
合并后的数据集:
主要是利用了retain语句,以下是代码:
data test;
input id group $ name $30.;
cards;
1 a 张三,李四
2 b 小红,小明
3 b 小东,小晴
4 c 小徐,小顾
5 a 林寒,范冰冰
;
run;
proc sort;
by group;
run;
data test1(drop = id name);
set test;
by group;
length new_id $ 30.;
length new_name $ 30.;
retain new_id new_name;
if first.group then do;
new_id = '';
new_name = '';
end;
new_id = catx(',',new_id, id);
new_name = catx(',',new_name, name);
if last.group then output;
run;
字符连接类函数主要有cat()、cats()、catx()。
Cat(arg1,arg2,....argn) /*连接字符串并且保留原来字符串之间的空格*/
Cats(agr1,arg2,...,argn) /*连接字符串并且去掉原来字符之间的空格*/数据分析师培训
Catx('separator-sign',arg1,arg2,...,argn) /*连接字符串去掉字符串间的空格增加设定的连接符*/
数据分析咨询请扫描二维码