Как рассчитать среднее по двум переменным в SAS? - PullRequest
0 голосов
/ 01 июня 2018

У меня есть набор данных, который содержит данные о средней цене неэтилированного обычного бензина (за галлон), целых крупных яиц (за дюжину) и цельного молока (за галлон).Переменные в этом файле: год, месяц, цена и тип товара.

Year Month  Price   Commodity
2004    1   1.592   Gas
2004    2   1.672   Gas
2005    1   1.766   Gas
2005    2   1.833   Gas
2006    1   2.009   Gas
2006    2   2.041   Gas
2004    1   1.95    Egg
2004    2   1.979   Egg
2005    1   1.97    Egg
2005    2   1.951   Egg
2006    1   2.032   Egg
2006    2   2.21    Egg
2004    1   2.879   Milk
2004    2   2.814   Milk
2005    1   2.786   Milk
2005    2   2.906   Milk
2006    1   3.374   Milk
2006    2   3.574   Milk

Может ли кто-нибудь помочь мне создать набор данных, содержащий среднюю цену за год для каждого товара?

Я могу создать набор данных, который содержит среднюю цену за год или за товар, но не могу рассчитать среднюю цену за год для каждого товара.

Примечание. Я использую версию SAS 9.4

1 Ответ

0 голосов
/ 01 июня 2018

Из вашего описания это простой код, который делает то, что вы просили:

proc sql;
  select mean(price) as average, year, commodity
  from have
  group by commodity, year
  order by commodity, year;
quit;

Это дает вывод:

 average year commodity 
 1.9645  2004   Egg 
 1.9605  2005   Egg 
 2.121   2006   Egg 
 1.632   2004   Gas 
 1.7995  2005   Gas 
 2.025   2006   Gas 
 2.8465  2004   Milk 
 2.846   2005   Milk 
 3.474   2006   Milk 
...