Sas で proc format を使用する方法 (例付き)
SAS でPROC FORMATを使用して、データ値のデータラベルへのマッピングを作成できます。
この手順では、次の基本構文を使用します。
proc format ;
value points_range
25-high='High'
15-<25='Medium'
other ='Low';
run ;
この特定の例では、次のマッピングが作成されます。
- 25以上の値は「高」と表示されます
- 15~25の値は「中」と表示されます。
- 他のすべての値は「 Low 」として表示されます。
次の例は、SAS の次のデータセットでPROC FORMATを使用する方法を示しています。
/*create dataset*/
data my_data;
input team $position $points;
datalines ;
A Guard 25
A Guard 20
A Guard 30
A Forward 25
A Forward 10
B Guard 10
B Guard 22
B Forward 30
B Forward 10
B Forward 10
B Forward 25
;
run ;
/*view dataset*/
proc print data =my_data;
例 1: PROC FORMAT を使用して、度数表のラベルとして値をフォーマットする
PROC FREQを使用して、データセットのポイント列の値の度数テーブルを作成するとします。
/*calculate frequency of values in points column*/
proc freq data = my_data;
tablepoints ;
run ;
出力では、個々の値の頻度がポイント列に表示されます。
ただし、値を次のようにフォーマットしたいとします。
- 25以上の値は「高」と表示されます
- 15~25の値は「中」と表示されます。
- 他のすべての値は「 Low 」として表示されます。
PROC FORMAT を使用してこれを行うことができます。
/*define formatting for points variable*/
proc format ;
value points_range
25-high='High'
15-<25='Medium'
other ='Low';
run ;
/*create frequency table for points variable, using formatting defined above*/
proc freq data = my_data;
tablepoints ;
format points points_range. ;
run ;
度数表は、 PROC FORMATステートメントを使用して指定したラベルにポイント変数の値をグループ化します。
例 2: PROC 形式を使用して新しい変数を作成する
PROC FORMATを使用して、データ値をデータ ラベルに変換する新しい変数をデータセット内に作成することもできます。
次の構文は、これを行う方法を示しています。
/*define formatting for points variable*/
proc format ;
value points_range
25-high='High'
15-<25='Medium'
other ='Low';
run ;
/*create new dataset with points_range variable*/
data new_data;
set my_data;
point_range = put (points, points_range. );
run ;
/*view dataset*/
proc print data = new_data;
「point_range」という新しい変数は、「points」変数の対応する値に応じて、Low、Medium、または High の値をとります。
注: PROC FORMAT の完全なドキュメントはここで見つけることができます。
追加リソース
次のチュートリアルでは、SAS で他の一般的なタスクを実行する方法について説明します。
SAS での手順の概要の使用方法
SAS で Proc Tabulate を使用する方法
SAS で Proc 照合を使用する方法