我有以下数据集。
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来创建平均值。但有没有其他更好的方法来做同样的事情?
答案 0 :(得分:1)
这是你做的吗?
Proc sql;
select subjid, xocat, xotest, epoch, avg(xostresn)
from pain
group by subjid, xocat, xotest, epoch;
这会添加额外的行。你可以使用union all
,但它提出了这个想法。