2017-10-13 20 views
0

私は1又は2であることができ、値、例えばで、前と後のスコアのセットを持っている:
プリポスト
2x2テーブルの頻度とSAS - procテーブルの全体的なパーセンテージ?

私は合計行/列のパーセンテージと、周波数を一覧表示2x2のテーブルを作成する必要があります。

  1   2  Total 
1   14   60  74/30% 
2   38   12  50/20% 
Total 52/21% 72/29% 248 

特に、nとパーセントの間に/をつけてフォーマットする必要はありませんが、それらは異なる行に置くことができます。私は合計パーセンテージ(累積パーセンテージなし)がテーブルにあることを確認するだけです。

私はこれを得るためにproc tableulateを使うべきだと思いますが、私はSASには新しく、それを理解することができませんでした。どんな助けでも大歓迎です。私が試した

コード:

proc tabulate data=.bilirubin order=data; 
    class pre ; 
    var post ; 
    table pre , post*(n colpctsum); 
run; 
+0

?あなたは確かにそれを行うことが可能です。 – Joe

+0

私が実行したのはこれだけですが、それは私に2x2テーブルを与えたり、最下行にパーセントを与えたりしません。 proc tabulate data = .bilirubin order = data; \t class pre; \t var post; \tテーブルプレ、ポスト*(n colpctsum); 実行; –

+0

代わりにPROC FREQを試してみてください。OUTPCT – Reeza

答えて

0

は、あなた自身の報告を行うことができます。たとえば、PROC SUMMARYを使用して周波数を取得することができます。パーセントを計算するデータステップを追加し、表示するテキストを含む文字変数を生成します。次に、PROC REPORTを使用して表示します。あなたがこれまでに `PROC TABULATE`で試してみましたが何

proc summary data=have ; 
    class pre post ; 
    output out=summary ; 
run; 
proc format ; 
    value total .='Total (%)'; 
run; 
data results ; 
    set summary ; 
    length display $20 ; 
    if _type_=0 then n=_freq_; 
    retain n; 
    if _type_ in (0,3) then display = put(_freq_,comma9.); 
    else display = catx(' ',put(_freq_,comma9.),cats('(',put(_freq_/n,percent8.2),')')); 
run; 
proc report missing data=results ; 
    column pre display,post n ; 
    define pre/group ; 
    define post/across ; 
    define n/noprint ; 
    define display/display ' '; 
    format pre post total.; 
run; 

enter image description here

関連する問題