将观察结果放在一个变量SAS EG中

时间:2016-04-11 15:34:36

标签: sas

我有一些数据集,例如。

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

1 个答案:

答案 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;