1

「proc means」コマンドを実行して、次の 2 つの変数の要約統計を出力しています: var1 と var2。オンザフライでラテックスを作成し、テーブルなどに適切なヘッダーを付けた大きなドキュメントでラテックスをピックアップしています。PROC MEANS コマンドの 'var' 部分に変数が 1 つしかない場合、完全に機能します。私はそこにいくつかのクラスステートメントを持つことさえでき、それは機能します。ただし、「var」ステートメントに別の変数を追加すると、latex 出力からキャリッジ リターンが失われます。

これは私が得ている出力です:

var1    & 1.0    & 1.0    & 1.0    & 1.0    & 1.0    & 
var2 & 1.0    & 1.0    & 1.0    & -1.0.00    & 1.0   \tabularnewline

これは私が望む出力です:

var1 & 1.0    & 1.0    & 1.0    & 1.0    & 1.0     \tabularnewline
var2 & 1.0    & 1.0    & 1.0    & 1.0    & 1.0   \tabularnewline

次の sas コマンドを使用してテーブルを作成しています (これは SAS 結果ビューアーに完全に表示されます)。

ods tagsets.customMinimal file="summaryPanelA_data.tex" (notop nobot) newfile=table;
proc means data=phd.formatted mean median stddev min max maxdec=2;
var stake payout;
run;
ods tagsets.customMinimal close;

Latex 出力用の元のタグセット、つまり Latex、SimpleLatex、TablesOnlyLatex をすべて使用してみましたが、それでも行末文字が出力されません。

これは私の顧客タグセットの内容です:

*START REGION: Running this creates a new template;
Proc template;
define tagset Tagsets.customMinimal;
define event byline;end;
define event proc_title;end;
define event note;end;
define event Error;end;
define event Warn;end;
define event Fatal;end;
define event system_footer;end;
define event leaf;end;
define event proc_branch;end;
define event branch;end;
define event pagebreak;end;
define event system_title;end;
define event table;end;
define event table_head;end;
define event colspecs;end;
define event colspec_entry;end;
define event row;

        break /if ^contains( $HTMLCLASS, "data");
        put "                " NL "  " /if ^exists( $colspan);
    finish:     
        break /if cmp( $sascaption, "true");
        break /if contains( HTMLCLASS, "data");
        break /if ^exists($hasdata);
        put "\tabularnewline" NL /if ^exists( $colspan);
        unset $hasdata;
end;

define event data;
    start:
        put VALUE /if cmp( $sascaption, "true");

        break /if cmp( $sascaption, "true");
        break /if ^contains( HTMLCLASS, "data");
        break /if exists( $colspan) | exists ( $cell_align );

        put %nrstr(" & ") /if ^cmp( COLSTART, "1");

        unset $colspan;
        set $colspan colspan;     
        set $hasdata '1';    

        /*put tranwrd(VALUE,"-","$-$") /if contains( HTMLCLASS, "data"); */
        put tranwrd(VALUE,"-","-") /if contains( HTMLCLASS, "data");
        put VALUE /if ^contains( HTMLCLASS, "data");
        put "   ";

    finish:
        break /if ^contains( HTMLCLASS, "data");
        break /if cmp( $sascaption, "true");
        break /if exists( $colspan) | exists ( $cell_align );
end;

parent = tagsets.simplelatex;
end;

終了する;

4

1 に答える 1

1

これは PROC MEANS ODS テンプレートの問題だと思います。9.3 を使用している場合は、このSTACKODSOUTPUTオプションを使用できます (ドキュメントを参照)。ただし、9.2 以前の場合、簡単な解決策はないと思います。その場合の最善の策は、おそらく PROC MEANS をデータセットに出力し、それを操作してから、PROC PRINT を LaTeX ソリューションに出力することです。

于 2013-07-23T14:19:08.180 に答える