1

回帰結果の行列をStataからMATLABにエクスポートする必要があります。Stataコマンドmatwriteを使用しようとしましたが成功しませんでした(unrecognized commandエラーが発生します)。これがその試みです:

    ...
    *Regression 1
    reg invlrevcrp_CAm071 lacres_CAm071 lrainm07 lrainm07sq ///
    lannxt lannxtsq lrlanxtsq pkgamz if invlrevcrp_CAm071~=.
    reg lrevcrp_CAm071 lacres_CAm071 lrainm07 lrainm07sq ///
    lannxt lannxtsq lrlanxtsq lpkgamz
    * Store results
    mat coef=get(_b)
    *Export to matlab
    matwrite using "Z:\Thesis\data needed for 2007\matlabfile", ///
    mat(coef) replace
    ...

xml_tab行列をExcelにエクスポートし、MATLABにインポートできるStataを使用することで、より多くの成功を収めることができました。しかし、xml_tab私にあまりにも多くの情報を与えます。エクスポートしたい行列は、ラベルなしで、2つの回帰から推定された係数です。 xml_tab回帰に関連するすべてのもの(t統計、p値、95%conf)をエクスポートします。ラベルを含む間隔など。このアプローチを使用した私のコードは次のとおりです。

     *===============================
     * Regressions
     *===============================
     *Regression 1
     reg invlrevcrp_CAm071 lacres_CAm071 lrainm07 lrainm07sq ///
     lannxt lannxtsq lrlanxtsq pkgamz if invlrevcrp_CAm071~=.
     reg lrevcrp_CAm071 lacres_CAm071 lrainm07 lrainm07sq ///
     lannxt lannxtsq lrlanxtsq lpkgamz
     * Store results
     estimates store revCA1
     *Regression 2
     reg lcostcrp_CAm071 lacres_CAm071 lrainm07 lrainm07sq ///
     lannxt lannit lannxtsq lannitsq lpkgf3 lwage if costcrp_CAm071>0
     *Store results
     estimates store cosCA1
     *Export to excel
     xml_tab revCA1 cosCA1, ///
     save("Z:\Thesis\data needed for 2007\RegCoefs") replace

ヘルプファイルを調べてxml_tab、欲しいものが手に入るかどうかを確認していますが、誰かが助けてくれますmatwritexml_tab

4

2 に答える 2

5

これを行うために、mat2txt2という名前の.adoプログラムを作成しました。あなたはここでそれを見つけることができます: http : //code.google.com/p/kk-adofiles/source/browse/#hg%2Fm私はBenJannとMBlasnikによってmat2txt.adoの機能を拡張するためにこのプログラムを書きました。

プログラムは、マトリックスを区切りテキストファイル(コンマ区切りの.csvファイルまたはタブ区切りファイルなど)にエクスポートします。そこから、データをExcelまたはMatlabに簡単に取り込むことができます。

于 2012-04-02T11:53:58.823 に答える
3

既存のExcelファイルに行列を書き込むには、を参照してputexcelください。

putexcel指示がない限り、行列の行名と列名はエクスポートされません。

help putexcel

簡単に言うと、Stataマトリックスをエクスポートするには:

必要に応じてディレクトリを変更します(例)

cd ""Z:\Thesis\data needed for 2007\"

putexcelExcelファイルを呼び出すように設定:putexcel変更するExcelファイル内のシートを指定できます。これは、結果を変換するようにExcelシートをプログラムした場合に便利です。これを行う場合は、Excelファイル内の既存の作業を上書きするのmodifyではなく、必ずオプションreplaceを呼び出してください。replace

putexcel set RegCoefs.xlsx, modify sheet(sheetname)

次の呼び出しputexcel、マトリックスを配置するセルを指定します

putexcel A1 = matrix(revCA1)

成功した場合、Stataは次のメッセージを返す必要があります。

file RegCoefs.xlsx saved
于 2016-06-23T03:55:03.480 に答える