2016-03-27 28 views
1

私は列の色を持つデータセットを持っています。私はこの列に白黒の値を持っています。テーブルの列のFreqを計算しようとすると、黒、白、赤の結果が出ます。しかし、私は緑と青の周波数をゼロにする必要があります。色の列にこの2つの色がない場合、どうすればいいですか?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

それを行うための10

別の方法は、以下に示すように、すべての可能な値を含む追加の入力テーブル(classdataパラメータ)を指定し、PROC TABULATEを使用することであろう。

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

関連する問題