2017-05-19 7 views
0

を手段我々は、次の用語で出力テーブルを指定することができます。出力PROCは、ファイル/ SASデータテーブルにPROCのFREQ手順で

Proc Freq 
     DATA=LIB.TABLE_IN 
     ORDER=FREQ; 

     TABLES FIELD/MISSING OUT = LIB.TABLE_OUT; /* outputs to a SAS data table */ 
    RUN; 

我々はPROC MEANS手順と同じことを行うことができますどのように?

​​3210

ありがとうございます!

+0

尋ねる前にドキュメントを覗きましたか?ありがとうございます。 – Joe

答えて

1

2通りあります。 outputステートメントは、出力をデータセットに送信します。任意のprocで可能な限りods outputを使用することもできます。

proc means data=sashelp.class; 
    class sex; 
    types sex; 
    var height weight; 
    output out=class_means mean= sum= /autoname; 
run; 

あなたはPROCで作成したテーブルの名前を知っている必要がありods output使用するには。 ODS TRACEを使用すると、テーブルの名前を知ることができます。

ods trace on; 
proc means data=sashelp.class; 
    class sex; 
    types sex; 
    var height weight; 
run; 
ods trace off; 

あなたはそれがsummaryと呼ばれています見つけることができます。だから、そのようods outputステートメントを追加します。私は結果のデータセットの形式を変更9.3(または多分9.22)stackodsoutputがあなたのために役立つかもしれないより、表、だと思います後

ods output summary=class_means_ods; 
proc means data=sashelp.class; 
    class sex; 
    types sex; 
    var height weight; 
    output out=class_means mean= sum= /autoname; 
run; 
ods output close; 

最後に、proc meansオプションを持っています。リストエリアに出力を生成し、あなたがproc meansで行うことができます

ods output summary=class_means_ods; 
proc means data=sashelp.class stackodsoutput; 
    class sex; 
    types sex; 
    var height weight; 
    output out=class_means mean= sum= /autoname; 
run; 
ods output close; 
+0

私は最初の選択肢を選んだ。 – Alex

1

ほとんど何もわずかに異なる構文を使用して、さまざまな出力形式で時々あるものの、出力データセットとしてproc summaryを経て製造することができます。例えば。これはあなたの例と同じ情報を生成しますが、長いテーブルではなく幅の広いテーブルになります。

proc summary data=sashelp.class; 
    var _numeric_; 
    output out = my_summary n= nmiss= /autoname; 
run; 
+0

私はあなたもprocの手段でそれをやることができることに気付いた...ありがとう! – Alex

+0

'summary'はv8 + SASで異なるデフォルトを持つ'手段 'の単なるクローンです。 – Joe

+0

@Joeこれは不思議なことですが、これはprocサマリーで正確に複製されていないような機能の数少ないビットの1つです。 – user667489

関連する問題