创建包含平均值

时间:2017-07-29 18:07:12

标签: sql sas

我有以下数据集。

data pain;
    input SUBJID$ XOCAT$ XOTEST$ VISIT$ XOSTRESN XOSTRESU$ EPOCH $9.;
    datalines;
101-01 OD pressure Visit2 20 mmHg Screening
101-01 OD pressure Visit2 .  mmHg Screening
101-01 OD pressure Visit2 .  mmHg Screening
101-01 OD pressure Visit2 40 mmHg Screening
101-01 OD pressure Visit2 .  mmHg Screening
101-01 OD pressure Visit3 21 mmHg Treatment
101-01 OD pressure Visit4 22 mmHg Treatment
101-01 OD pressure Visit5 25 mmHg Treatment
;
run;

我想得到一个额外行的输出,其中XOSTRESN值的平均值(即20 + 40/2 = 30);

输出将包含以下附加行:

101-01 OD pressure visit2 30 mmHg Screening.

我尝试使用proc sql来创建平均值。但有没有其他更好的方法来做同样的事情?

1 个答案:

答案 0 :(得分:1)

这是你做的吗?

Proc sql;
    select subjid, xocat, xotest, epoch, avg(xostresn)
    from pain
    group by subjid, xocat, xotest, epoch;

这会添加额外的行。你可以使用union all,但它提出了这个想法。