看板 Statistics 關於我們 聯絡資訊
[軟體程式類別]: SAS [程式問題]: 邏輯 [軟體熟悉度]: 熟悉(DoLoop & macro) [問題敘述]: 各位統神大大早安,小弟目前在研究健保資料庫 研究對象是"服用特定藥物連續三個月以上的病人" cd跟oo檔接好了,服用特定藥物也找出來了,約1400萬筆資料(日期,id變數都有) 目前卡在 "至少連續三個月出現" 這個條件不知道要怎麼寫 謝謝各位大大提供一下想法 若能成功啟發我台北地區一杯星巴克特大美式回報:) -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 203.71.94.11 ※ 文章網址: https://www.ptt.cc/bbs/Statistics/M.1523411269.A.B67.html
oolala: proc sql 做 fuzzy matching? 可能要跑很久..? 04/11 12:11
imsoim: 簡單一點的話,最初和最後時間間隔超過3個月,並且當中任 04/11 19:10
imsoim: 兩個連續時間間隔不超過3個月 04/11 19:10
leschu: 要先定義連續 如果中斷幾天以上就不算連續 即判定不連續 04/12 00:14
leschu: 可用每次開方日期跟處方天數加可容許天數 把每段銜接好 看 04/12 00:14
leschu: 是否有滿三個月 04/12 00:14
Samlee: 可考慮用data step裡的retain 去檢查本次就醫跟前次就醫 04/12 13:52
Samlee: 之間的時間差 有超過一定天數的給個tag 再用sql把有tag的 04/12 13:53
Samlee: 病人列出並移除分析資料群 04/12 13:53
anniecs: 可以從終點著手,先定義停藥(多久沒有該藥紀錄就視為停藥 04/19 20:25
anniecs: ),這樣就可以用終點日減去起點日,看有沒有超過3個月 04/19 20:26
anniecs: (3個月天數=365/12*3) 04/19 20:26
anniecs: 照字面也有最簡單的解讀,例如456月有就算是連續三個月 04/19 20:37
anniecs: 這個做法就會相對簡單很多XD 把年月依序coding成新序號 04/19 20:39
anniecs: 每一個月只保留一筆,將序號相差2以下的資料inner join 04/19 20:41
anniecs: 後並加總,等於3就表示連續三個月都有開到藥 04/19 20:41
anniecs: 但實務上會有bias,因為病人有時月尾就先來領下個月的藥 04/19 20:43