Sas で加重平均を計算する方法 (例あり)
SAS では次の方法を使用して加重平均を計算できます。
方法 1: 加重平均を計算する
proc sql ;
create table new_data as
select sum (weight * value) / sum (weight) as weighted_average
from original_data;
quit ;
方法 2: グループごとの加重平均を計算する
proc sql ;
create table new_data as
select grouping_variable,
sum (weight * value) / sum (weight) as weighted_average
from original_data
group by grouping_variable;
quit ;
次の例は、SAS の次のデータセットで各メソッドを使用する方法を示しています。
/*create dataset*/
data original_data;
input sales_rep $price amount;
datalines ;
At 8 1
At 5 3
At 6 2
B 7 2
B 12 5
B 14 4
;
run ;
/*view dataset*/
proc print data = original_data;

例 1: 加重平均を計算する
次のコードは、金額変数を重みとして使用して、価格変数の加重平均を計算する方法を示しています。
/*calculate weighted average of price*/
proc sql ;
create table new_data as
select sum (amount * price) / sum (amount) as weighted_average
from original_data;
quit ;
/*view weighted average of price*/
proc print data =new_data;

価格の加重平均は9.70588となります。
例 2: グループごとの加重平均を計算する
次のコードは、 sales_rep変数によってグループ化された、 price変数の加重平均を計算する方法を示しています。
/*calculate weighted average of price, grouped by sales_rep*/
proc sql ;
create table new_data as
select sales_rep,
sum (amount * price) / sum (amount) as weighted_average
from original_data
group by sales_rep;
quit ;
/*view results*/
proc print data =new_data;

結果から次のことがわかります。
- 営業担当者 A の加重平均価格は5.8333です。
- 営業担当者 B の加重平均価格は11.8182です。
追加リソース
次のチュートリアルでは、SAS で他の一般的なタスクを実行する方法について説明します。