Как переименовать переменные в SAS (с примерами)


Вы можете использовать функцию переименования , чтобы переименовать одну или несколько переменных в наборе данных SAS.

Эта функция использует следующий базовый синтаксис:

data new_data;
 set original_data ( rename =(old_name=new_name));
run ;

В следующих примерах показано, как использовать эту функцию на практике со следующим набором данных:

/\*create dataset\*/
data original_data;
 input x y z;
 datalines ;
1 4 76
2 3 49
2 3 85
4 5 88
2 2 90
;
run ;

/\*view dataset\*/
proc print data =original_data; 

Пример 1. Переименование одной переменной

В следующем коде показано, как переименовать только переменную x в наборе данных:

/\*rename one variable\*/
data new_data;
 set original_data ( rename =(x=new_x));
run ;

/\*view new dataset\*/
proc print data =new_data;

Обратите внимание, что x был переименован в new_x , но все остальные имена переменных остались прежними.

Пример 2: переименование нескольких переменных

В следующем коде показано, как переименовать переменные x и y в наборе данных.

Обратите внимание, что вам не нужно ставить запятые между именами новых переменных.

/\*rename multiple variables\*/
data new_data;
 set original_data ( rename =(x=new_x y=new_y));
run ;

/\*view new dataset\*/
proc print data=new_data; 

Пример 3: добавление префикса ко всем переменным

В следующем коде показано, как добавить префикс _NEW ко всем переменным в наборе данных:

/\*define prefix to append to each variable\*/
proc sql noprint ;
 select cats(name, '=', '_NEW', name)
 into :list
 separated by ' '
 from dictionary.columns
 where libname = 'WORK' and memname = 'ORIGINAL_DATA';
quit ;

/\*add prefix to each variable in dataset\*/
proc datasets library = work;
 modify original_data;
 rename &list;
quit ;

/\*view updated dataset\*/
proc print data =original_data; 

Пример 4. Добавление суффикса ко всем переменным

В следующем коде показано, как добавить суффикс _NEW ко всем переменным в наборе данных:

/\*define suffix to append to each variable\*/
proc sql noprint ;
 select cats(name, '=', name, '_NEW')
 into :list
 separated by ' '
 from dictionary.columns
 where libname = 'WORK' and memname = 'ORIGINAL_DATA';
quit ;

/\*add suffix to each variable in dataset\*/
proc datasets library = work;
 modify original_data;
 rename &list;
quit ;

/\*view updated dataset\*/
proc print data =original_data; 

Дополнительные ресурсы

В следующих руководствах объясняется, как выполнять другие распространенные задачи в SAS:

Как заменить пропущенные значения нулем в SAS
Как удалить дубликаты в SAS
Как нормализовать данные в SAS