SAS PROC意味着选定的列意味着

时间:2016-03-25 20:57:21

标签: sas

proc means data=tableepisodes noprint; 
output out=tableepisodes
mean(%ratings %dummies)=%ratings %dummies; 
by  ProgCodeID ProgSeasonCodeID year week

我正在阅读SAS代码,我不确定代码的平均部分是什么,

它只需要%评级变量的平均值并将%dummies变量附加到输出中吗?

如果我能帮助理解这段代码,

真的很感激

2 个答案:

答案 0 :(得分:1)

这不是一个完整的代码段,没有。 它计算%rating和%dummies中列出的变量的平均值,当然假设这些宏包含在这些宏中。

如果没有看到宏定义,我们无法确定它实际上在做什么。

答案 1 :(得分:0)

如上所述,代码将评估存储在宏变量 rating dummies 中的变量的均值。以评级为例,我们假设它早先被定义为:

%let ratings = good bad ugly;

因此,当你通过proc方式传递它时,%rating 将评估为好坏丑陋,SAS将采用所有三个变量的方式。

您可以将proc手段函数编写为:

proc means data = tableepisodes noprint;
    by ProgCodeID ProgSeasonCodeID year week;
    var good bad ugly;
    output out = tableepisodes mean= / autoname;
run;

代替。 (另请注意,您在此处覆盖原始数据集,您可能希望避免这种情况。)