Jak obliczyć średnią ważoną w sas (z przykładami)


Do obliczenia średniej ważonej w SAS-ie możesz użyć następujących metod:

Metoda 1: Oblicz średnią ważoną

 proc sql ;
    create table new_data as
    select sum (weight * value) / sum (weight) as weighted_average
    from original_data;
quit ;

Metoda 2: Oblicz średnią ważoną na grupę

 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 ;

Poniższe przykłady pokazują, jak używać każdej metody z następującym zbiorem danych w SAS-owym:

 /*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; 

Przykład 1: Oblicz średnią ważoną

Poniższy kod pokazuje, jak obliczyć średnią ważoną dla zmiennej ceny , używając zmiennej kwoty jako wagi:

 /*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; 

Średnia ważona cen okazuje się wynosić 9,70588 .

Przykład 2: Oblicz średnią ważoną na grupę

Poniższy kod pokazuje, jak obliczyć średnią ważoną zmiennej cena , pogrupowaną według zmiennej 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;

Z wyniku możemy zobaczyć:

  • Średnia ważona cena sprzedawcy A wynosi 5,8333 .
  • Średnia ważona cena sprzedawcy B wynosi 11,8182 .

Dodatkowe zasoby

Poniższe samouczki wyjaśniają, jak wykonywać inne typowe zadania w SAS-ie:

Jak obliczyć średnią na grupę w SAS-ie
Jak obliczyć korelację w SAS-ie
Jak tworzyć tabele częstości w SAS-ie

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *