【发布时间】:2018-05-11 00:02:52
【问题描述】:
我有 10 个变量 (var1-var10),我需要在 SAS 中重命名 var10-var1。所以基本上我需要将 var10 重命名为 var1、var9 var2、var8 var3 等等。
这是我根据这篇论文使用的代码,http://analytics.ncsu.edu/sesug/2005/PS06_05.PDF:
%macro new;
data temp_one;
set temp;
%do i=10 %to 1 %by -1;
%do j=1 %to 10 %by 1;
var.&i=var.&j
%end;
%end;
;
%mend new;
%new;
我遇到的问题是它只将 var1 重命名为 var10,因此是 do-loop 中的最后一次迭代。
提前感谢您的帮助!
艾米丽
【问题讨论】:
-
我想知道为什么投反对票?这是一个相当高质量的问题;它相当基本,但它具有我们在一个好问题中寻找的所有元素 - 重现的详细代码、不正确行为的明确陈述和特异性。
-
如果您只想重命名变量而不创建数据集的新副本,请使用
proc datasets来执行此操作,使用 reeza 答案中的重命名语句。
标签: sas rename sas-macro do-loops