2017-07-29 16 views
-2

次のデータセットを取得しています。私はXOSTRESN値の平均(すなわち、20 + 40/2 = 30)と一つの追加行に出力を取得したい平均値を含む追加の行を作成する

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; 

101-01 OD pressure visit2 30 mmHg Screening. 

Iの平均を作成するために、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を使用しますが、それはその考えを示しています。

関連する問題