Як перейменувати змінні в sas (з прикладами)


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

Ця функція використовує такий базовий синтаксис:

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

У наступних прикладах показано, як використовувати цю функцію на практиці з таким набором даних:

 /*create dataset*/
data original_data;
    input xyz;
    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

Додати коментар

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *