Экспорт матрицы из Stata 12 в Excel или MATLAB - PullRequest
1 голос
/ 01 апреля 2012

Мне нужно экспортировать матрицу результатов регрессии из 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% конф.интервалы и т. д., включая метки.Вот мой код, использующий этот подход:

     *===============================
     * 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, чтобы узнать, могу ли я получить то, что хочу, но может ли кто-нибудь помочь с matwrite или xml_tab?

Ответы [ 2 ]

5 голосов
/ 02 апреля 2012

Я написал для этого программу .ado с именем mat2txt2.Вы можете найти его здесь: http://code.google.com/p/kk-adofiles/source/browse/#hg%2Fm Я написал эту программу для расширения возможностей mat2txt.ado Бена Джанна и М. Бласника.

Программа экспортирует матрицу в текстовый файл с разделителями (например, файл CSV, разделенный запятыми, или файл, разделенный табуляцией).Оттуда вы можете легко перенести данные в Excel или Matlab.

3 голосов
/ 23 июня 2016

Чтобы записать матрицу в существующий файл Excel, посмотрите на putexcel.

putexcel не будет экспортировать имена строк и столбцов матрицы, если вы не укажете это.

help putexcel

Вкратце, чтобы экспортировать матрицу Stata:

изменить каталог, еслинеобходимый (пример)

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

установить putexcel для вызова файла Excel: putexcel позволяет указать лист в файле Excel, который вы хотите изменить, что удобно, если вы запрограммировалилист Excel для преобразования результатов.Если вы сделаете это, обязательно вызовите опцию modify вместо replace: replace перезапишет любую существующую работу в вашем файле Excel

putexcel set RegCoefs.xlsx, modify sheet(sheetname)

следующий вызов putexcel, указав нав какую ячейку вы хотите поместить вашу матрицу

putexcel A1 = matrix(revCA1)

, в случае успеха Stata должна вернуть следующее сообщение:

file RegCoefs.xlsx saved
...