【问题标题】:Exporting matrix from Stata 12 to Excel or MATLAB将矩阵从 Stata 12 导出到 Excel 或 MATLAB
【发布时间】:2012-04-01 19:24:14
【问题描述】:

我需要将回归结果矩阵从 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
    ...

我使用 Stata xml_tab 取得了更大的成功,它将矩阵导出到 Excel,然后我可以将其导入 MATLAB。但是,xml_tab 给了我太多信息。我要导出的矩阵只是两个回归的估计系数,没有标签。 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 的帮助吗?

【问题讨论】:

    标签: excel matlab export-to-excel stata


    【解决方案1】:

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

    程序会将矩阵导出到分隔的文本文件(例如,逗号分隔的 .csv 文件或制表符分隔的文件)。从那里,您可以轻松地将数据提取到 Excel 或 Matlab 中。

    【讨论】:

      【解决方案2】:

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

      putexcel 不会导出矩阵的行名和列名,除非你告诉它。

      help putexcel
      

      简单地说,导出一个Stata矩阵:

      必要时更改目录(示例)

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

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

      putexcel set RegCoefs.xlsx, modify sheet(sheetname)
      

      下一次调用putexcel,指定您希望将矩阵放置在哪个单元格

      putexcel A1 = matrix(revCA1)
      

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

      file RegCoefs.xlsx saved
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2017-07-01
        • 1970-01-01
        • 2014-02-08
        • 2016-07-16
        • 2015-09-08
        • 1970-01-01
        • 1970-01-01
        • 2015-07-02
        相关资源
        最近更新 更多