TABULATEプロシジャの交差レベルについて
[OS]ALL
[リリース]
[キーワード]
[質問]TABULATEプロシジャで以下のプログラムを実行すると、エラーが発生します。 原因は何でしょうか。 (プログラム) proc tabulate data=sample ; class class1 class2 class3 ... class10 ; var var1 var2 ... varn ; tables row1*row2*row3* ... *row10 ; run; (エラー) ERROR: COL 交差が指定した深さを越えています.
[回答]上記のプログラムでは、10個の変数を交差(クロス、ネスティングとも呼びます)させています。 しかし、TABULATE プロシジャでは、さらに統計量(N やMEAN など)も1つの交差レベルとして扱うので、この場合は11レベルの交差になります。 TABULATEプロシジャが受け付ける交差(次元内の交差)のレベルは、DEPTH= オプションで指定できますが、そのデフォルト値は 10 です。 したがって、次のプログラム例のように、 DEPTH= に十分なレベル数(この場合は11)を指定して、TABULATEプロシジャを実行してください。 proc tabulate data=sample DEPTH=11 ; class class1 class2 class3 ... class10 ; var var1 var2 ... varn ; tables row1*row2*row3* ... *row10 ; run;
|