手头没SAS,空想了一个办法供一试。大概思路是,用array建一百个新变量,命名为a1-a100,将旧变量的值赋给新变量,然后删掉旧变量。因为可以用array和--一次选取多个名字之间没有联系,但是位置连在一起的变量,所以整个程序并不会太长。如果有错误信息显示a1-a100不存在,可在Data 和 set 步骤之间先用length a1-a100 100.(用旧变量的长度,100是我瞎编的); 提前建立新变量。
data outcome;
set yourdata;
array old{100} oldvar1--oldvar100;
array new{100} a1-a100;
do i = 1 to 100;
new[i]=old[i];
end;
delete oldvar1--oldvar100;
drop i;
run;