我想基於folloing方式一個數組元素重新命名變量,與名來自另一個陣列
%let var= class name gender;
data want;
set have;
%global noof;
array point(*)$ %str(&var) ;
a=dim(point);
call symputx('noof',a);
array newvar(&noof);
do i=1 to &noof;
newvar(i)=translate(point(i),',','.');
end;
drop &var;
do i=1 to &noof;
rename newvar(i)=vname(point(i));
end;
運行重命名的數組變量;
我想將新變量重命名爲第一個數組元素。
LOG:
rename newvar(i)=vname(point(i));
-
22
76
ERROR 22-322: Syntax error, expecting one of the following: -, :, =.
ERROR 76-322: Syntax error, statement will be ignored.
您不能在RENAME語句中使用函數。在開始使用宏變量或宏代碼生成SAS代碼之前,請先寫出要生成的SAS代碼。向我們展示您嘗試生成的SAS代碼。 – Tom
我認爲標題說明了他想要的東西 - 他想用另一個數組的名稱重命名數組中的變量。數據步驟中的代碼對於這個問題是多餘的。 – DomPazz
@DomPazz你是對的,我想我會改變這個問題。 – user3658367