我有2套。第一個是大的(約1000k行),它包含按觀察年份分組的患者觀察數據,可以說2000至2005年。在該組中,有一些患者包含所有年份的觀察結果(或者我應該說每個年),也有一些只有2002 - 2003年的觀測值。按順序擴展所有年份的觀察值
第二組只包含從2000年到2005年的6個年份的序列,6行。
我想擁有的是與來自集合1的數據爲每一個病人一個表,但是擴展以便爲每個患者我會看到每一年的觀察,從集2,如果有不對任何觀察在第1組中的特定年份,應該在數據列只有中添加空行或空白(或更好的「 - 」)。
例如設置1可能是:
patient_id | obs_year | data
a 2000 10
a 2001 12
a 2002 13
a 2003 9
a 2004 1
a 2005 6
bb 2002 100
bb 2003 110
集2是這樣的:
year |
2000
2001
2002
2003
2004
2005
所以,我想在結果理想會是這樣的:
patient_id | obs_year | data
a 2000 10
a 2001 12
a 2002 13
a 2003 9
a 2004 1
a 2005 6
bb 2000 -
bb 2001 -
bb 2002 100
bb 2003 110
bb 2004 -
bb 2005 -
我還應該提及我在SAS中完成這項工作,因此歡迎使用SQL查詢或SAS腳本(或兩者)解決方案。
我們可以假設大表以任何方式排序嗎? (例如,按年份,按patient_id,按年份patient_id或按patient_id年份) – mvherweg
是的,在對其應用任何代碼之前對其進行排序沒有問題,因此假定它被排序。 – Astro