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中使用宏重命名变量?
答案
- 使用旧列名和新名称在两列中创建数据集
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;
- 对于所有变量,创建一个具有old = new形式的旧名称和新名称的宏变量,即X1 = A1 X2 = A2 X6 = B1 ...等。
proc sql; select catx(' = ', old, new) into :rename_list separated by " " from names; quit;
- 在PROC DATASETS中应用重命名语句 - 这会更改数据但不会完全传递数据。
proc datasets lib=work; modify dataSetName; rename &rename_list.; run;quit;
以上是关于SAS宏重命名变量的主要内容,如果未能解决你的问题,请参考以下文章