これは奇妙な質問かもしれません。、、などagree
のデータを含むデータセットがあります。多くの質問があります。観測値がそれほど多くないため、質問によっては、1 つまたは複数のオプションの頻度が 0 である、つまりニュートラルであるとします。を実行すると、その変数にニュートラルが表示されるため、テーブルにはニュートラルの行が含まれていません。行数が異なるテーブルになってしまいます。これらの頻度が 0 の行を表示するオプションがあるかどうかを知りたいです。また、同じデータセットに対して実行する必要があり、バーの数が異なるという同じ問題に遭遇します。これについて私を助けてください。ありがとうございました!neutral
disagree
proc freq
proc gchart
1 に答える
これは、PROC FREQ
. sparse
出力データセットを作成するときに、テーブルのすべての論理セルの値を作成するように指示するオプションがあります。通常、クロスタブには欠損値 (またはゼロ) を持つセルがありますが、それがデータセットに出力される場合 (これは垂直です。つまり、x 軸と y 軸の値の各組み合わせが 1 つの行に配置されます)、それらの行はやめた。スパースはそれが起こらないようにします。また、より大きな (n 次元の) クロス集計では、すべての変数の可能な組み合わせごとに行が作成されます。データに含まれていないものも含まれます。
しかし、あなたがやっているだけなら
proc freq data=mydata;
tables myvar;
run;
SAS はそこに何があるべきかを理解するために何もする必要がないので、それは役に立ちません。
そのためには、class
変数プロシージャを使用する必要があります。 Proc Tabulate
はそのような手続きの 1 つで、Proc Freq
構文 (一種) が に似ています。CLASSDATA
proc ステートメントまたはPRINTMISS
table ステートメントで使用する必要があります。前者の場合、フォーマットを使用する必要はないと思います。後者の場合 ( PRINTMISS
)、表示するデータのすべてのレベルを含む変数のフォーマットを作成する必要があります (まだ作成していない場合) (フォーマット文字などの単なる識別フォーマットであっても)。文字列を同一の文字列に)、PRELOADFMT
proc ステートメントで指定します。詳細については、この man ページを参照してください。