我有一百左右的列,我想使用以下宏在 SAS 中重命名:
%macro rename1(oldvarlist, newvarlist);
%let k=1;
%let old = %scan(&oldvarlist, &k);
%let new = %scan(&newvarlist, &k);
%do %while(("&old" NE "") & ("&new" NE ""));
rename &old = &new;
%let k = %eval(&k + 1);
%let old = %scan(&oldvarlist, &k);
%let new = %scan(&newvarlist, &k);
%end;
%mend;
这些列当前命名为 C5、C7、C9、...、C205,我想将它们重命名为 AR_0、AR_1、...、AR100。
使用上面的宏,我怎样才能将这些新名称放在以下代码的逗号之后,而不用逐个编写?
%rename1(C5--C205, # new names here #);