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

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *