如何创建一个分类变量,其中在 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;
谁能帮我在 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;