Outreg2和具有交互的回归c.var1 ## c.var2

时间:2014-08-05 18:15:03

标签: variables regression stata labels

我正在运行一组表格

的回归
reg var1 var1_iv var2_iv c.var1_iv##c.var2_iv

outreg2 using "filename", tex(pr frag) label title("title") replace

但是在编译生成的tex文件时(我使用\input{}将文件“调用”到主文件中),由于交互术语中的#,我收到错误消息。

到目前为止,我的解决方案是手动更正每个tex文件,但由于我有很多回归,所以这变得非常累人。

有更有效的方法来解决这个问题吗?

喜欢标记互动,使用outreg2选项,忽略主tex文件中的#吗?

1 个答案:

答案 0 :(得分:0)

<强> 1。第一个选项

一种方法是使用filefiltercopy。第一个命令创建一个包含所需内容的新文件。使用秒,您可以将该新文件“复制”为其原始名称。然后erase剩下的文件。举个例子就是:

filefilter testfile.tex testfile2.tex, ///
        from("original") to("modified") replace

copy testfile2.tex testfile.tex, replace
erase testfile2.tex

<强> 2。第二个选项

另一个(未经测试的)选项是使用临时文件。在这种情况下,我想您最初可以将.tex文件保存到tempfile,然后将其提供给filefilter。也就是说,filefilter的输入是临时文件和输出,无论你想使用什么名字。见help tempfile

修改

第3。第三个选项

之前的Stata tempfile方法似乎不起作用(尽管第一个选项可行)。但是使用您自己的“临时文件名”(而不是Stata)作为最终文件名的桥梁似乎更简单。例如:

sysuse auto,clear

tempfile file

regress mpg foreign weight headroom
outreg2 using xfile, tex replace

filefilter xfile.tex filedef.tex, ///
    from("VARIABLES") to("ACHANGE") replace

erase xfile.tex

xfile.tex是我用于转换文件的名称。 filedef.tex是最终文件。根据您的使用情况,相应地使用replace选项。