2012-04-01 8 views
1

StataからMATLABへの回帰結果の行列をエクスポートする必要があります。私は成功なしでStataコマンドmatwriteを使用しようとしました(私はunrecognized commandエラーを取得します)。Stata 12からExcelまたはMATLABに行列をエクスポート

... 
    *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 
    ... 

私はその後、MATLABにインポートすることができますエクセルに行列をエクスポートStataのxml_tabを使用して、より成功を収めている。ここではその試みです。しかし、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 

私は私が欲しいものを得ることができますが、誰もがmatwriteまたはxml_tabを助けることができるかどうかを確認するためにxml_tabヘルプファイルを通過するのですか?

答えて

5

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

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

+0

をよ良いounds。私はそれを試みるつもりです。 – ben

2

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

putexcelは、あなたが指示しない限り、マトリックスの行と列の名前をエクスポートしません。

help putexcel 

Stataの行列をエクスポートする簡単に言えば、:

チェンジディレクトリ必要に応じて(例)

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

は、Excelファイルを呼び出すようにputexcelを設定します。putexcelはあなたのExcelでシートを指定することができますファイルを編集したい場合は、Excelシートをプログラムして結果を変換すると便利です。あなたがこれを行う場合は、replaceではなく、modifyオプションを呼び出してください:replaceは、細胞のouはあなたの行列を配置したいと考えた時に指定し、

putexcel set RegCoefs.xlsx, modify sheet(sheetname) 

次の呼び出しputexcelを提出あなたのExcelで任意の既存の作業を上書きします

putexcel A1 = matrix(revCA1) 

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

file RegCoefs.xlsx saved 
関連する問題