SAS宏打印N观察

时间:2016-03-15 22:53:19

标签: macros statistics sas data-manipulation

我需要一个可以打印出" proc内容的宏#34;和第一个''观察任何数据集。然后我需要它来进一步计算那些前k个观测值的一些汇总统计量,例如均值,最大值,标准偏差和偏度。我熟悉SAS,但我对MACROS来说是一个全新的东西 - 文档令我感到困惑。

我知道为了打印出前五个变量,你可以使用我在之前的工作中使用的OBS和FIRSTOBS。

PROC PRINT DATA = WORK.CA(firstobs= 5 obs= 9);
RUN;

我可以通过计算std mean等使用PROC MEANS将相同的逻辑应用于汇总统计。但是,如何使用宏使其适用于任何数据集?

1 个答案:

答案 0 :(得分:1)

%macro MyMacro(data=,k=,var=);

proc contents data=&data varnum;
run;

proc print data=&data (obs=&k);
run;

proc means data=&data (obs=&k) mean max std skewness;
    var &var;
run;

%mend MyMacro;

%MyMacro(data=sashelp.class, k=10, var=Age Height Weight);