SAS:两个变量的平均值,中位数,最大值和百分位数

时间:2014-12-30 15:00:29

标签: sas proc

我有一个由5列组成的数据集。 月,用户,Num1,Num2,Num3。

我试图为每个Num1 Num2和Num3计算月和用户的每个排列的平均值,中位数,最大值,第25和第75百分位数。

我尝试过proc单变量,但我不能在没有为每个月和用户排列创建宏和手动步骤的情况下这样做。

我的理想输出将如下所示,Num1 Num2 Num3的单独输出:http://i.imgur.com/YC67LV1.png

谢谢!

3 个答案:

答案 0 :(得分:1)

PROC Means会做你想要的。

以下是SASHELP.SHOES示例数据集的示例。

ods html;
proc means data=sashelp.shoes mean median max p25 p75;
   class region product;
   var sales inventory returns;
run;
ods html close;

答案 1 :(得分:0)

您是否尝试过PROC手段?

http://support.sas.com/documentation/cdl/en/proc/61895/HTML/default/viewer.htm#a000146729.htm

或者您可以提供示例输入数据,以便我可以尝试重新创建结果吗?

答案 2 :(得分:0)

proc sort data = mydata;
 by month user;
run;

proc univariate data = mydata;
 by month user;
 var num1 num2 num3;
run;

您可以对此进行优化,以便仅使用ODS SELECT或OUTPUT

获取所需的确切统计信息