我從別處竊取了一些代碼以創建所有變量組合。我需要這個來創建多個迴歸,然後確定最佳。我喜歡輸出,因爲我可以使用一行,並將變量的所有名稱放在一個地方。SAS與宏變量的所有組合
當我手動輸入數據時,數組工作,但這需要跨不同的數據和自我選擇變量,所以我需要使用宏變量輸入數據。這不應該是一個問題,這與其他datasteps一起工作。有人可以告訴我我要去哪裏嗎?
data test(keep=my_string);
length my_string $200.;
array a[4] $ ('new1' 'new2' 'new3' 'new4');
n = dim(a);
do k=1 to n;
do j=1 to comb(n,k);
call allcomb(j,k,of a[*]);
do i = 1 to k;
if i=1 then do; my_string="";counter=0;end;
counter=counter+1;
my_string=catx(" ",my_string, a[i]);
if counter=k then output;
end;
end;
end;
run;
這下一個元素不起作用。只是給了我缺少的值 - 但它知道它需要127 ... subs只是一個宏變量,其中new1-new7。
rsubmit;
data xx(keep=my_string);
length my_string $200.;
array a &subs;
n = dim(a);
do k=1 to n;
do j=1 to comb(n,k);
call allcomb(j,k,of a[*]);
do i = 1 to k;
if i=1 then do; my_string="";counter=0;end;
counter=counter+1;
my_string=catx(" ",my_string, a[i]);
if counter=k then output;
end;
end;
end;
run;
endrsubmit;
您的幫助非常感謝。
Ĵ