2017-05-19 98 views
0

我有一個患者診斷數據集,每行一個診斷代碼,導致患者多行診斷。每位患者都有一個獨特的患者ID。我也有這些患者的年齡,種族,性別等數據。SAS:多行患者診斷

如何使用PROC FREQ,Logistic,Univariate等向SAS表明他們是同一個患者?

這是一個什麼樣的數據看起來像一個例子:誰擁有了一定的實驗室對每一位患者

patientID diagnosis age gender lab 
1   15.02  65 M  positive 
1   250.2  65 M  positive 
2   348.2  23 M  negative 
2   282.1  23 M  negative 
3     50 F  positive 

我得到的數據(無論陽性結果),以及他們所有的診斷,它們分別出現在不同的行上(作爲對SAS的不同觀察)。首先,我需要排除每個對實驗室有負面影響的患者,我計劃使用IF聲明。實驗室確定患者是否患有疾病X.一些患者沒有任何額外的疾病,除了患者#3之外的疾病X.

分析我想執行:

  1. 計算使用PROC FREQ每種疾病的頻率。
  2. 使用PROC FREQ卡方描述每次診斷的年齡和種族關係。
  3. PROC物流,以確定疾病X的頂部開發的附加疾病

由於風險因素(年齡,種族,性別等)!

+0

取決於。在某些情況下,它可能被認爲是重複測量,有時不會。大多數情況下,你需要考慮自己的因素。你的問題引用了幾個過程,所以現在它是廣泛的,我們不能提供一個答案。如果你縮小這個問題,我們可以提供一些關於如何處理這種數據的例子。 – Reeza

+0

@Reeza,是否可以在數據步驟中將同一行上的每個患者的診斷結合起來?我不會將這些視爲多重測量,因爲我正在進行純粹的橫斷面分析。 – ybao

+0

可以對數據集進行轉置,以便每個患者都有一條記錄,並且變量Diagnosis1 Diagnosis2 ... DiagnosisN。但通常目前的結構更容易處理。正如Reeza所說,如果你可以描述你想要進行的具體分析,人們會更容易幫助你。 – Quentin

回答

2

你的問題的答案是你不能默認。但是,當您處理數據時,您可以輕鬆解決它。國際海事組織保持這種狀態很容易

你問了很多以上的問題,所以我只回答一個問題,如何計算患病人數x。

Proc sort data = have out = unique_disease_patient nodupkey; 
By patientID Diag; 
Run; 


Proc freq data = unique_disease_patient noprint; 
Table disease/out = disease_patient_count; 
Run; 

注意,這是在SQL

Proc sql; 
Create table want as 
Select diag, count(distinct patientID) 
From have 
Group by diag; 
Quit; 

我假定這更簡單的作業,因爲你不可能做到這一點在實踐中,除了探索性分析。