对于Stata,是否存在matlab的xlswrite()?

时间:2013-01-25 15:25:16

标签: matrix stata

我需要将在Stata中创建的几个矩阵导出到已有的excel文件的几个不同的特定命名表。这将是使用xlswrite()在Matlab中的一块蛋糕。我在Stata找不到类似的命令时遇到了麻烦。

“xml_tab”可以使用,但它似乎不想让我打开并更改已存在的 excel文件。它总是从创建一个新的Excel文件开始。

对于如何获取“xml_tab”或其他Stata命令,打开已有的excel文件,对其进行更改(用新矩阵覆盖特定工作表),然后保存它,我将不胜感激。覆盖我不想碰的其他床单上的所有其他东西。

Stata能做到吗?

由于

编辑:

我需要做的一个例子是:

    *Define poverty line
    scalar povlin=29347.5
    *1) SETUP sheet
    mat SETUP=(1,J(1,3,0),1,J(1,2,0),1,1,J(1,5,0),povlin)

    /* Here I need to export the matrix SETUP to sheet "SETUP" in an 
    already existing excel file.  In matlab it would be
    xlswrite('filename','SETUP','A2')  */

    *2) FARM sheet
    tabstat acres,stat(sum) save
    mat acrtot=r(StatTotal)
    tabstat aehh07 offrinc07,save
    mat vmeans=r(StatTotal)
    mat maehh=vmeans[1,1]
    mat moffrinc=vmeans[1,2]
    tabstat aehh07 offrinc07 acres,stat(cv) save
    mat CV=r(StatTotal)
    tabstat acres,save
    mat macres=r(StatTotal)
    mat FARM=(1,acrtot,maehh,CV[1,1],moffrinc,CV[1,2],moffrinc,CV[1,2],J(1,3,0),macres)

    /* Here I need to export the matrix FARM to sheet "FARM" in the 
    same already existing excel file where I put the SETUP matrix.  In matlab it would 
    be xlswrite('filename','FARM','A2')  */

我需要为几张纸做这种事。

1 个答案:

答案 0 :(得分:3)

通过矩阵,您可能意味着(a)Mata矩阵(b)Stata矩阵(c)完整或部分数据集,包括一个或多个Stata变量。最后(c)似乎最有可能。

在Excel中更改内容的方法是打开Excel。 Stata没有提供,因为它是远程控制Excel操作,你似乎要求。但Stata命令import excelexport excel似乎提供了替代方案。

我从未使用xml_tab(Stata Journal 2008),但我始终明白其主要目的是导出结果表,而不是数据。

如果您的意思是(b),您可以先使用svmat

我猜你不是指(a)。

(2013年7月更新)Stata 13现在有一个putexcel命令。有关简介,请参阅http://www.stata.com/help.cgi?putexcel