我获得了一个带有几个变量的回归汇总表。 我使用的代码是
stock = dyn$lm(y1 ~ x1 +lag(x2, -1) + x2 + x3 +x4)
print(xtable(stock))
给了我输出如下
% latex table generated in R 3.0.1 by xtable 1.7-1 package
% Mon Aug 12 21:01:51 2013
\begin{table}[ht]
\centering
\begin{tabular}{rrrrr}
\hline
& Estimate & Std. Error & t value & Pr($>$$|$t$|$) \\
\hline
(Intercept) & 0.0031 & 0.0036 & 0.85 & 0.3951 \\
x1 & 0.4947 & 0.0371 & 13.33 & 0.0000 \\
lag(x2, -1) & 0.3745 & 0.0347 & 10.79 & 0.0000 \\
x2 & -0.1248 & 0.0368 & -3.39 & 0.0007 \\
x3 & 0.7368 & 0.0424 & 17.36 & 0.0000 \\
x4 & -0.0033 & 0.0039 & -0.84 & 0.3983 \\
\hline
\end{tabular}
\end{table}
我只能手动将行名称(x1,滞后(x2,-1)等)更改为希腊语以与我的研究中的回归对齐。 但是,我需要使用许多不同的数据组来复制回归,这使得逐个执行此操作变得非常耗时。
是否有更自动化/更强大的解决方案,可以使用代码自定义行名称?
答案 0 :(得分:2)
我认为您要做的是将摘要转换为矩阵,然后在此处使用指南: http://www.inside-r.org/packages/cran/xtable/docs/xtable
以编程方式将行和列名称添加到矩阵中。
我现在只是为自己解决这个问题,但这些方面的内容应该有效:
stock = dyn$lm(y1 ~ x1 + lag(x2, -1) + x2 + x3 +x4)
stock_matrix <- matrix(summary(stock)$coef, ncol = 4L)
rownames(stock_matrix) <- c("Intercept", "$x_{1,t}$", "$x_{2,t-1}$", "$x_2$", "$x_3$", "$x_4$")
print(xtable(stock_matrix), sanitize.text.function = identity)
默认情况下,print.xtable
会转义所有LaTeX识别的字符,例如$
和%
,以确保输出编译。我们通过提供一个自定义文本清理程序来覆盖它,通过不执行任何操作来单独使用它。