proc means data=tableepisodes noprint;
output out=tableepisodes
mean(%ratings %dummies)=%ratings %dummies;
by ProgCodeID ProgSeasonCodeID year week
我正在阅读SAS代码,我不确定代码的平均部分是什么,
它只需要%评级变量的平均值并将%dummies变量附加到输出中吗?
如果我能帮助理解这段代码,真的很感激
答案 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;
代替。 (另请注意,您在此处覆盖原始数据集,您可能希望避免这种情况。)