いくつかの回帰を実行したいのですが、各変数の非欠損観測の数を数えたいと思います。しかし、どの変数を使用するかはまだわかりません。うまくいかない次の解決策を思いつきました。何か助けはありますか?
ここでは基本的に、説明変数のそれぞれを変数に入れます。たとえば、var1 var 2 -> w1 = var1, w2= var2.
事前にいくつの変数があるかわからないことに注意してください。したがって、10 個の変数の余地を残しておきます。
次に、symput を使用して潜在的な変数を保存します。
data _null_;
cntw=countw(¶meters);
i = 1;
array w{10} $15.;
do while(i <= cntw);
w[i]= scan((¶meters"),i, ' ');
i = i +1;
end;
/* store a variable globally*/
do j=1 to 10;
call symput("explanVar"||left(put(j,3.)), w(j));
end;
run;
次のステップは、保存した変数を使用して proc sql を実行することです。変数が 10 個未満の場合は機能しません。
proc sql;
select count(&explanVar1), count(&explanVar2),
count(&explanVar3), count(&explanVar4),
count(&explanVar5), count(&explanVar6),
count(&explanVar7), count(&explanVar8),
count(&explanVar9), count(&explanVar10)
from estimation
;quit;
このコードは 10 個未満の変数で機能しますか?