次のマクロを使用している間、私は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オプションが使用されていないことを確認します。
誰かが助けることができますか?
ドキュメントによると、type3は適切なodsテーブル名ではありません(https://support.sas.com/documentation/cdl/en/statug/63962/HTML/default/viewer.htm#statug_surveyselect_sect021.htm) –
申し訳ありません私の悪い私は実際にprocロジスティックのためにそれを使用していますが、まだ生成されません – user6016731
サンプルデータと作業コードを投稿できますか?現在のコードには、PROC文が追加されています。定義したマクロへの呼び出しはありません。また、procを実行する前にODS OUTPUTを設定する必要があります。 – Tom