如何创建一个分类变量,其中在 SAS 中结果整数值为 1 时报告虚拟变量的名称

How to create a categorical variable in which are reported the name of dummy variable when result interger value 1 in SAS

谁能帮我在 SAS 中生成分类变量?

我有这样的数据集

K234 K234 K24a34 K34j43 k...
0 1 0 1 ...
1 0 1 0 ..
0 1 1 1 ...

我不知道如何获得一个单一的分类变量,它连接了虚拟变量的名称,其中报告了整数值 1。

我想要得到的结果是这样的:

type
K234-K34j43
K234-K24a34
K234-K24a34-K34j43

谢谢!

  • VNAME() 获取变量名
  • ARRAY 用于处理多个变量
  • CATX() 用于串联变量中的分隔符
data want;
set have;

length type 0;

array _k_list(*) K: ; *list of variables to scan for 1s;

do i=1 to dim(_k_list);

if _k_list(i) = 1 then
      type = catx("-", type, vname(_k_list(i)));
end;

run;