Вы можете использовать функцию RETAIN в SAS, чтобы быстро изменить порядок переменных в наборе данных.
Вот три наиболее распространенных способа использования этой функции:
Способ 1: изменить порядок всех переменных
data new_data;
retain var4 var5 var1 var3 var2;
set original_data;
run ;
Способ 2: переместить одну переменную на передний план
data new_data;
retain var4;
set original_data;
run ;
Способ 3: переместить несколько переменных на передний план
data new_data;
retain var4 var5;
set original_data;
run ;
В следующих примерах показано, как использовать каждый метод со следующим набором данных в SAS:
/\*create dataset\*/
data original_data;
input team $ points rebounds assists steals;
datalines ;
A 18 10 4 5
B 24 11 6 7
C 26 14 6 8
D 34 22 5 3
E 38 3 7 7
F 45 12 4 4
G 23 7 9 1
;
run ;
/\*view dataset\*/
proc print data =original_data;

Пример 1: переупорядочить все переменные
В следующем коде показано, как переупорядочить переменные в следующем порядке: команда, подборы, перехваты передач, затем очки.
/\*create new dataset with variables reordered\*/
data new_data;
retain team rebounds assists steals points;
set original_data;
run ;
/\*view new dataset\*/
proc print data =new_data;

Обратите внимание, что переменные переупорядочены именно в том порядке, который мы указали в функции RETAIN .
Пример 2: Переместить одну переменную на передний план
В следующем коде показано, как переместить переменную Asses на передний план, оставив все остальные переменные в том же порядке:
/\*create new dataset with variables reordered\*/
data new_data;
retain assists;
set original_data;
run ;
/\*view new dataset\*/
proc print data =new_data;

Мы видим, что переменная Asses теперь находится на первой позиции, в то время как все остальные переменные остались в том же порядке.
Пример 3: Переместить несколько переменных на передний план
В следующем коде показано, как переместить переменные передач и подборов на передний план, оставив все остальные переменные в том же порядке:
/\*create new dataset with variables reordered\*/
data new_data;
retain assists;
set original_data;
run ;
/\*view new dataset\*/
proc print data =new_data;

Мы видим, что переменные передач и подборов теперь находятся на первой и второй позициях, в то время как все остальные переменные остались в том же порядке.
Дополнительные ресурсы
В следующих руководствах объясняется, как выполнять другие распространенные задачи в SAS:
Как использовать сводку процедур в SAS
Как использовать Proc Tabulate в SAS
Как переименовать переменные в SAS
Как создать новые переменные в SAS