2017-07-29 52 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,但它提供了這個想法。