Вы можете использовать следующие методы для расчета средневзвешенного значения в 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 ;
A 8 1
A 5 3
A 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 :
/\*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;
Из вывода мы видим:
- Средневзвешенная цена торгового представителя А составляет 5,8333 .
- Средневзвешенная цена торгового представителя B составляет 11,8182 .
Дополнительные ресурсы
В следующих руководствах объясняется, как выполнять другие распространенные задачи в SAS:
Как рассчитать среднее значение по группе в SAS
Как рассчитать корреляцию в SAS
Как создать частотные таблицы в SAS