2017-07-29 42 views
-2

我有以下数据集。创建包含平均值的附加行

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

发布您到目前为止所尝试的内容。请查看SO准则,以发布问题https://stackoverflow.com/help/how-to-ask – Reeza

回答

1

这是你做了什么?

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

这确实会添加额外的行。你会使用union all,但它提供了这个想法。