如何在 sas 中计算加权平均值(附示例)
您可以使用以下方法来计算 SAS 中的加权平均值:
方法一:计算加权平均值
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:计算加权平均值
以下代码显示如何使用amount变量作为权重来计算价格变量的加权平均值:
/*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变量分组的价格变量的加权平均值:
/*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 中执行其他常见任务: