从Stata 12导出matrix到Excel或MATLAB

我需要将Stata的回归结果matrix导出到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 ... 

我已经有更多的成功使用Stata xml_tab将matrix导出到Excel,然后我可以导入到MATLAB。 但是, xml_tab给了我太多的信息。 我想要导出的matrix只是两个回归的估计系数,没有标签。 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

我写了一个.ado程序来做到这一点,名为mat2txt2。 你可以在这里find它: http : //code.google.com/p/kk-adofiles/source/browse/#hg%2Fm我写了这个程序来扩展Ben Jann和M Blasnik的mat2txt.ado的function。

该程序将一个matrix导出到分隔文本文件(例如,逗号分隔的.csv文件或制表符分隔的文件)。 从那里,你可以很容易地将数据拖入Excel或Matlab。

要将matrix写入预先存在的Excel文件,请查看putexcel

putexcel将不会导出matrix行和列名称,除非您告诉它。

 help putexcel 

简而言之,要导出一个Statamatrix:

如有必要改变目录(例子)

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

设置putexcel来调用你的Excel文件: putexcel允许你在Excel文件中指定你想要修改的表单,如果你编写了一个Excel表单来转换结果,这putexcel上用场。 如果你这样做,一定要调用modify选项,而不是replacereplace将覆盖您的Excel文件中的任何预先存在的工作

 putexcel set RegCoefs.xlsx, modify sheet(sheetname) 

接下来调用putexcel ,指定在哪个单元格上放置matrix

 putexcel A1 = matrix(revCA1) 

如果成功,Stata应该返回以下消息:

 file RegCoefs.xlsx saved