0
假設我在數據集中有變量X1,X2,X3和組。組具有不同的值,例如1-10,X1,X2,X3是連續變量。在整個數據集中,X1,X2和X3的遺漏值彼此獨立。換句話說,X1可能會丟失,但不會是X2和X3,另一個觀察結果可能只是X3丟失。SAS缺失值替換
對於每個缺失的值,我想用它在該觀察的Group#內的該變量的中值代替它。
有沒有什麼好的方法可以做到這一點?
預先感謝
假設我在數據集中有變量X1,X2,X3和組。組具有不同的值,例如1-10,X1,X2,X3是連續變量。在整個數據集中,X1,X2和X3的遺漏值彼此獨立。換句話說,X1可能會丟失,但不會是X2和X3,另一個觀察結果可能只是X3丟失。SAS缺失值替換
對於每個缺失的值,我想用它在該觀察的Group#內的該變量的中值代替它。
有沒有什麼好的方法可以做到這一點?
預先感謝
這裏的基本方法是多步驟:
x3 = coalesce(x3,x3_median);
和類似的x1和x2。您可以在單個datastep中或在單個PROC SQL連接中執行2和3操作。您理論上可以在一個SQL步驟中計算中位數並追加它,但這可能會更慢並且難以維護(因爲中位數對SQL來說是一個相對困難的計算,不能直接用函數完成 - MEDIAN函數是不是SQL中的聚合函數)。
爲了實現您的結果,@ Joe的答案是要走的路。我也建議看看PROC MI(多重插補)。這使得可以使用更復雜的方法,這對於任務的目的可能更好,例如,統計建模 – Longfish