SAS宏重命名变量

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SAS宏重命名变量相关的知识,希望对你有一定的参考价值。

我有一个我想写的宏...... X1-X50

但我想将变量重命名为A1 A2 A3 A4 A5 B1 B2 B3,依此类推至E5。

X1 - X5将是A1-A5 X6 - X10将是B1 - B5,依此类推。

如何在SAS中使用宏重命名变量?

答案
  1. 使用旧列名和新名称在两列中创建数据集 data names; letter=64; counter=0; do i=1 to 50; counter=ifn(counter=5, 1, counter+1); if mod(i, 5)=1 then do; letter+1; letter_char=byte(letter); end; old=catt('X', put(i, 2. -l)); new=catt(letter_char, counter); output; end; run;
  2. 对于所有变量,创建一个具有old = new形式的旧名称和新名称的宏变量,即X1 = A1 X2 = A2 X6 = B1 ...等。 proc sql; select catx(' = ', old, new) into :rename_list separated by " " from names; quit;
  3. 在PROC DATASETS中应用重命名语句 - 这会更改数据但不会完全传递数据。 proc datasets lib=work; modify dataSetName; rename &rename_list.; run;quit;

以上是关于SAS宏重命名变量的主要内容,如果未能解决你的问题,请参考以下文章

如何为与正在执行的 SAS 脚本名称相似的输出文件命名?

通过在 SAS 中用另一个前缀替换前缀来动态重命名变量

我的SAS菜鸟之路3

我的SAS菜鸟之路3

SAS set 语句使用冒号并创建文件名变量

SAS零散知识总结