2015-12-26 50 views
2

我試過谷歌和周圍的這個問題,但我似乎無法找到一個合適的解決方案。我希望這裏有人能幫助我。對不起,如果它太簡單了,但我會感謝任何建議或幫助。使用SAS中的兩個變量分配遇到號碼

我正在使用縱向數據集,我想爲每個可能與我們的實驗室(accesssion)有一個或多個交互的人員(ID)分配一個相遇編號。數據集看起來像這樣,我想創建一個新的變量(遇到),順序爲每個人的每個獨特的相遇。

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和登錄號保持一樣。

非常感謝您幫助我指出正確的方向。

回答

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; 
+0

非常感謝!這工作很好。我非常感謝你的幫助!乾杯! :) – Alex

相關問題