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

Как переименовать переменные в 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

Замечательно! Вы успешно подписались.
Добро пожаловать обратно! Вы успешно вошли
Вы успешно подписались на кодкамп.
Срок действия вашей ссылки истек.
Ура! Проверьте свою электронную почту на наличие волшебной ссылки для входа.
Успех! Ваша платежная информация обновлена.
Ваша платежная информация не была обновлена.