有沒有遇過在製作表格式時,某變項中的類別不見,但在製表時必須將消失的類別補上的狀況呢?不懂嗎?看看下面的表格吧,臺中市的結果沒出現在這份資料中,但最終表格還是必須把臺中市放上去,就算所有的結果都是遺漏值或零。
但SAS的PROC FREQ如果資料中沒有這項類別的資料,自然不會呈現於報表中!所以這次的分享,就是如何「強迫」PROC FREQ列出不存在但又想呈現的類別。
先建立一份模擬的資料檔,程式如下:
data test1; data test2; proc freq data=test2 ; |
程式簡易說明:
test1為建立一個樣本數為30,000以內的資料檔(隨機刪除約10%的個案),資料裡面包含了city和year。
test2依據test1所建立的資料,將city=4的結果全部刪除,模擬沒有「臺中市」的資料。
PROC FREQ結果如下:
因為city數值為4(臺中市)的結果被刪除,在結果表中也不會出現臺中市的結果,接下來說明如何將臺中市的結果補上。步驟如下:
1.建立變項組合的資料架構檔(form1),也就是產生city 和 year所有的組合架構。
data form1; |
2.分析資料檔(test2)與架構資料檔(form1)合併,並將來自分析資料檔的資料設定weight為1,來自架構資料檔的資料設定weight為0。
data test3; |
3.以PROC FREQ分析,並使用WEIGHT及ZEROS語法。
proc freq data=test3 ; |
最後提供year變項中的103類別刪除後的結果
希望這次內容能夠幫助大家製作表格的速度。祝大家製表愉快嘍~
沒有留言:
張貼留言