如何在不使用Proc SQL的情况下将包含均值的列添加到SAS中的表中?

如何在不使用Proc SQL的情况下将包含均值的列添加到SAS中的表中?,sas,Sas,我有一个数据集,我想在一个新字段中包含一个变量的平均值。有没有不使用Proc SQL的方法可以做到这一点?使用Proc means,在一个新数据集中输出变量的平均值,然后将这个新数据集与希望查看变量平均值的数据集合并 (output out=test mean=mean_var;run;)使用PROC MEANS计算统计数据,然后将其合并 proc means data=sashelp.class noprint; output out=avg_values mean(height)=a

我有一个数据集,我想在一个新字段中包含一个变量的平均值。有没有不使用Proc SQL的方法可以做到这一点?

使用Proc means,在一个新数据集中输出变量的平均值,然后将这个新数据集与希望查看变量平均值的数据集合并


(output out=test mean=mean_var;run;)

使用PROC MEANS计算统计数据,然后将其合并

proc means data=sashelp.class noprint;
    output out=avg_values mean(height)=avg_height;
run;

data class_data;
    set sashelp.class;

    if _n_=1 then
        set avg_values;
run;

proc print data=class;
run;

一种方法是使用Proc MEANS、SUMMARY或UNIVARIATE来计算聚合值,然后使用DATA step将这些值合并回原始数据集中。另一种方法是使用两个道循环;第一个集合用于计算分组结果的值,第二个将结果应用于分组的每个成员非常感谢!这非常有帮助。