Sas で proc tabulate を使用する方法 (例付き)
SAS でproc tabulate を使用すると、1 つ以上の変数の記述統計を表形式ですばやく表示できます。
次の例は、12 人の異なるバスケットボール選手が獲得した合計ポイントを示す次のデータセットでこの手順を使用する方法を示しています。
/*create dataset*/
data my_data;
input team $position $points;
datalines ;
A Guard 15
A Guard 12
A Guard 29
A Forward 13
A Forward 9
A Forward 16
B Guard 25
B Guard 20
C Guard 34
C Forward 19
C Forward 3
C Forward 8
;
run ;
/*view dataset*/
proc print data =my_data;
例 1: 変数を使用した Proc 表の作成
次のコードを使用して、ポイント変数の記述統計を計算できます。
/*create table that displays descriptive stats for points variable */
proc tabulate data =my_data;
var points;
table points * (N Min Q1 Median Mean Q3 Max);
run ;
注: 括弧内の値は、ポイントに対してどのような記述統計を計算するかをSASに指示します。
最も一般的に使用される記述統計のいくつかを次に示します。
- N : 観測値の総数
- Min : 最小値
- Q1 : 最初の分位数 (つまり、25 番目の百分位数) の値
- Median : 中央値
- 平均: 平均値
- Q3 : 第 3 分位数 (つまり、75 パーセンタイル) の値
- Max : 最大値
結果から次のことがわかります。
- 観測値の合計数は12です。
- 最小ポイント値は3です。
- 25 パーセンタイルのポイント数は10.5です。
- ポイント数の中央値は15.5です。
- 平均点数は16.92です。
- 75 パーセンタイルのポイント数は22.5です。
- 最大ポイント数は34です。
これら 5 つの値から、Weight 変数の値の分布をかなりよく理解できます。
例 2: 2 つの変数を使用した Proc Tabulate
次のコードを使用して、チーム変数ごとにグループ化されたポイント変数の記述統計を計算できます。
/*create table that displays descriptive stats for points, grouped by team */
proc tabulate data =my_data;
classteam ;
var points;
table team, points * (N Min Q1 Median Mean Q3 Max);
run ;
結果として得られる表には、3 つのチームそれぞれの記述ポイント統計が示されています。
例えば:
- チーム A には6 つの観測があります。
- チーム A の最小ポイント値は9です。
- チーム A の 25 パーセンタイルでのポイント数は12です。
- チーム A のポイント数の中央値は14です。
等々。
例 3: 3 つの変数を使用した Proc Tabulate
次のコードを使用して、チーム変数とポジション変数ごとにグループ化されたポイント変数の記述統計を計算できます。
/*create table that shows descriptive stats for points, grouped by team and position */
proc tabulate data =my_data;
class team position;
var points;
table team, position *points* (N Min Q1 Median Mean Q3 Max);
run ;
結果の表には、チームとポジションごとにグループ化されたポイントの記述統計が表示されます。
チーム「B」には攻撃者のポジションを持っているプレイヤーがいないため、チーム「B」と「攻撃者」のポジションのセルは空であることに注意してください。
追加リソース
次のチュートリアルでは、SAS で他の一般的なタスクを実行する方法について説明します。
SAS での手順の概要の使用方法
SAS で相関関係を計算する方法
SAS で度数表を作成する方法
SAS でグループごとに箱ひげ図を作成する方法