Sas で変数の名前を変更する方法 (例付き)
rename関数を使用して、SAS データセット内の 1 つ以上の変数の名前を変更できます。
この関数は次の基本構文を使用します。
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 で他の一般的なタスクを実行する方法について説明します。