我曾尝试使用谷歌并阅读此问题,但我似乎无法找到适当的解决方案。我希望有人可以帮助我。对不起,如果它太简单了,我会很感激任何建议或帮助。
我正在使用纵向数据集,我想为每个人(ID)分配一个遭遇号码,这个人可能与我们的实验室(accesssion)有过一次或多次交互。数据集看起来像这样,我想创建一个新的变量(遭遇),按顺序为每个人的每个独特遭遇编号。
ID accession encounter
----------------------------------
1 1234 1
1 1234 1
1 1235 2
1 1236 3
1 1236 3
2 1000 1
2 1001 2
2 1001 2
3 1111 1
3 1112 2
4 1001 1
4 1001 1
我尝试过使用first.variable语句,例如:
data new; set old;
by id accession;
if first.id & first.accession then encounter=1;
else encounter+1;
run;
我没有成功,因为如果id和登录号都保持不变,它将不会保留相同的遭遇号码。
提前感谢你帮我指出了正确的方向。
答案 0 :(得分:2)
你的亲密关系。在每个ID的第一个,您要将其设置为0,并在每个要加入的加入的第一个。
data new; set old;
by id accession;
Retain encounter;
if first.id then encounter=0;
If first.accession then encounter+1;
run;