2017-01-06 6 views
0

次のマクロを使用している間、私はODS出力を記述しようとしています:ODSタイプ3 PROC Surveyselect

%let class1=X1 X2 
    %let &new_var=X3 X4 

    options mprint mlogic symbolgen; 
%macro LogitBoot(data = , dv = , iv = ,class=, n =); 
proc sql noprint; 
create table logit_result 
(iv char(10), prob num format = 6.4, 
sig1 num format = 4., sig2 num format = 4., 
sig3 num format = 4., sig4 num format = 4.); 
select count(*) into :sample from &data; 
quit; 
%do i = 1 %to &n; 

proc surveyselect data = training method = urs out = &data._tmp n = &sample 
noprint; 
run; 
proc logistic data = &data._tmp desc; 
freq numberhits; 
class &class; 
model &dv = &iv; 
ods output type3 = model_tmp; 
run; 
proc sql; 
insert into logit_result 
select 
upcase(effect) as iv, ProbChiSq as prob, 
case when ProbChiSq <= 0.01 then 1 else 0 end as sig1, 
case when ProbChiSq > 0.01 and ProbChiSq <= 0.05 then 1 else 0 end as sig2, 
case when ProbChiSq > 0.05 and ProbChiSq <= 0.1 then 1 else 0 end as sig3, 
case when ProbChiSq > 0.1 then 1 else 0 end as sig4 
from model_tmp; 
quit; 
%end; 
proc summary data = logit_result nway; 
class iv; 
output out = out_table (drop = _type_ rename = (_freq_ = count)) 
sum(sig1) = sum(sig2) = sum(sig3) = sum(sig4) = ; 
run; 
%mend LogitBoot; 

%のLogitBoot(データ=トレーニング、DV =ターゲット、クラス= & class1に、IV = & new_var、n個= 2)。 しかし、次の警告が表示され続けます。

警告:出力 'type3'は作成されませんでした。出力オブジェクトの名前、ラベル、またはパスのスペルが正しいことを確認してください。また、 に、適切なプロシージャ・オプションを使用して、要求された出力オブジェクトを生成することを確認します。たとえば、 NOPRINTオプションが使用されていないことを確認します。

誰かが助けることができますか?

+0

ドキュメントによると、type3は適切なodsテーブル名ではありません(https://support.sas.com/documentation/cdl/en/statug/63962/HTML/default/viewer.htm#statug_surveyselect_sect021.htm) –

+0

申し訳ありません私の悪い私は実際にprocロジスティックのためにそれを使用していますが、まだ生成されません – user6016731

+0

サンプルデータと作業コードを投稿できますか?現在のコードには、PROC文が追加されています。定義したマクロへの呼び出しはありません。また、procを実行する前にODS OUTPUTを設定する必要があります。 – Tom

答えて

2

新しいバージョンのSASでは、type3テーブルが削除されました。最新の文書hereにあることがわかります。

ModelANOVAテーブルをお試しください。私は反対テストするSASの古いバージョンを持っていないので、テーブル構造がある場合、私はあなたを伝えることはできません合同またはType効果

の3テスト

として、マニュアルに記載されています同じ。そうでない場合は、コードを適切に変更する必要があります。

+0

ありがとう!!私はそれを考え出した。モデルで使用されているクラス変数のさまざまなレベルは、 "ref ="ステートメントを使用して指定する必要があり、タイプ3分析を生成します。 – user6016731

+1

あなたが回答としてこのコメントを投稿した場合、他人を助けるかもしれません。元のコードのどの行を変更する必要があるのか​​を詳しく説明できます。 – Tom

+0

@ user6016731これは間違っています。これを示すcommunities.sas.comの投稿をご覧ください。 DomPazzの解決策は正しいです。 – Reeza

関連する問題