3

我获得了一个包含几个变量的回归汇总表。我使用的代码是

    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、lag(x2,-1) 等)更改为希腊语,以与我研究中的回归保持一致。但是,我需要使用许多不同的数据组来复制回归,这使得一个一个地完成它太耗时了。

是否有更自动化/更强大的解决方案可以使用代码自定义行名?

4

1 回答 1

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 可识别的字符,例如$%确保您的输出编译。我们通过提供一个自定义文本清理程序来覆盖这一点,该清理程序不做任何事情。

于 2014-07-02T18:51:25.960 回答