我想執行一些迴歸,我想要計算每個變量的nonmissing觀測數。但我不知道我將使用哪個變量。我想出了下面的解決方案,它不起作用。任何幫助?Sas宏與proc sql
這裏基本上我把我的每個解釋變量都放在變量中。例如 var1 var 2 - > w1 = var1,w2 = var2。
請注意,我不知道我有多少變量,所以我留下了十個變量的空間。
然後使用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個變量嗎?
非常感謝。我沒有考慮proc的意思,我會記住你的建議。你的第三個選項似乎很有趣,但我承認我沒有理解它。你能更具體地說明你將如何使用這種方法嗎? – DJJ
你必須問一個更具體的問題。我爲第三個選項發佈的是完全實現第三個選項(除了它需要數據集「參數」)。 – Joe