r*****g 发帖数: 99 | 1 我有90多个nutritional variables 需要进行log transformation,新的变量名就是旧
的变量名前加log,请教高手如何能同时对这些变量进行转换? |
j******o 发帖数: 127 | |
h********o 发帖数: 103 | 3 You can use array like this:
==================================
data test;
input var1 var3 var2 var10 var6;
array temp(5) var1 -- var6;
array logvar(5);
do i = 1 to dim(temp);
logvar(i) = log(temp(i));
end;
drop i var1 -- var6;
cards;
1 2 3 4 5
; |
r*****g 发帖数: 99 | 4 非常感谢楼上的帮助。It is extremetly helpful. |
p***r 发帖数: 920 | 5 or you can do it in another brutal way
*WIDE TO LONG;
PROC TRANSPOSE DATA=data1 OUT=data2;
BY var_id;
VAR _ALL_;
RUN;
data data3;
set data2;
log_var=log(col1);
run;
*LONG TO WIDE;
PROC TRANSPOSE DATA=data3 OUT=data4
BY var_ID;
ID variable;
VAR log_var;
RUN; |