我有一些数据集,例如。
card1 stick2
card3 stick2
card1 stick1
card4 stick1
我需要得到一个带有结果的新变量:(最终outdata)
new_variable
card1 stick2 card1,card3
card3 stick2 card1,card3
card1 stick1 card1,card4
card4 stick1 card1,card4
我需要收集所有卡片观察结果,这些观察结果包含在new_variable
中答案 0 :(得分:1)
尝试catx
功能
new_variable = catx(',',var1,var2);
来自SAS帮助: CATX函数 - 删除前导和尾随空白,插入分隔符,并返回连接的字符串。
[编辑]
您需要按棍子排序,在数据步骤中处理,然后合并结果。
proc sort data=have;
by stick;
run;
data new_var;
set have;
by stick;
format new_variable $200.;
retain new_variable;
if first.stick then
new_variable = "";
new_variable = catx(",",new_variable,card);
if last.stick then
output;
run;
data want;
merge have new_var(keep=stick new_variable);
by stick;
run;