【发布时间】:2018-11-28 08:35:31
【问题描述】:
在 SAS 中,如何为一组变量的每个唯一组合创建一个标识符?
例如,我有几千个观察值,其中六个变量的值是二分法。对于每个观察值,这些变量的值有 2^6 种唯一组合。我想为每个唯一组合创建一个标识符,并最终根据这个值对我的观察结果进行分组。
有:
SubjectID Var1 Var2 Var3 Var4 Var5 Var6
---------------------------------------------------------------
ID1 1 1 1 1 1 1
ID2 1 0 1 1 1 1
ID3 0 1 1 1 1 1
ID4 0 0 1 1 1 0
... ... ... ... ... ... ...
ID3000 1 1 0 1 0 0
想要:
SubjectID Var1 Var2 Var3 Var4 Var5 Var6 Identifier
------------------------------------------------------------------------------
ID1 1 1 1 1 1 1 A
ID2 1 1 1 1 1 1 A
ID3 0 1 1 1 1 1 B
ID4 0 0 1 1 1 0 C
... ... ... ... ... ... ...
ID3000 1 1 0 1 0 0 Z
A 将表示 1、1、1、1、1、1 作为唯一组合,B 将表示 0、1、1、1、1、1 等。
我考虑过基于 64 个 Var1-Var6 条件语句创建一个虚拟变量。我还考虑过将 Var1-Var6 中的值连接到新行中以创建唯一标识符。
有没有更直接的方法来解决这个问题?
我更喜欢一种将特定标识符分配给特定值组合的方法,而不是在出现新组合时仅生成一些任意唯一字符串的方法。
【问题讨论】:
标签: sas