2016-03-27 53 views
1

我有一個數據集列顏色。我在這一欄中列舉了黑白紅。當我嘗試爲表列計算頻率時,我得到了黑色,白色和紅色的結果。但是我需要別的來顯示綠色和藍色的零頻率。如果我在彩色列中沒有這兩種顏色,我該怎麼做?Proc Freq表示不存在的值。

+1

[SAS Proc Freq顯示類別與計數]可能重複(http://stackoverflow.com/questions/33301001/sas-proc-freq-display-categories-with-counts) – Reeza

+0

非常感謝!問題解決了。 – Tanya

回答

-1

使用缺少選項:

MISSING 
treats missing values as a valid nonmissing level for all TABLES variables. 
Displays missing levels in frequency and crosstabulation tables and includes 
them in computations of percentages and statistics. 

另見:http://support.sas.com/documentation/cdl/en/procstat/63104/HTML/default/viewer.htm#procstat_freq_sect016.htm

+0

如果列中沒有值,則不會顯示,缺少指定的值。如果其他組可用,可以使用稀疏選項來顯示。 – Reeza

1

做到這一點是使用PROC MEANS,如下圖所示的最簡單方法:

proc format; 
    value colors 1 = "Black" 
       2 = "White" 
       3 = "Red" 
       4 = "Green" 
       5 = "Blue"; 
run; 

data mytable; 
    input color; 
    format color colors.; 
    datalines; 
1 
2 
1 
3 
; 

proc means data=myTable completetypes; 
    class color/preloadfmt; 
run; 

Results from proc means


另一種方式來做到這一點是使用PROC TABULATE,指定附加的輸入表(classdata參數)包含所有可能的值,如下所示:

data allColors; 
    input color; 
    format color colors.; 
    datalines; 
1 
2 
3 
4 
5 
; 

proc tabulate data=mytable classdata = allColors; 
    class color; 
    table color/misstext = "0"; 
run; 

結果:

Proc Tabulate Results

相關問題