2013-08-12 6 views
2

Я получил сводную таблицу регрессии с переменными пара. Код я использовалИзменение имен строк таблицы, полученной из lm-регрессии с использованием функции xtable

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, отставание (х2, -1), и т.д.) чтобы греки вручную выстроились в очередь с регрессией в моих исследованиях. Однако мне нужно реплицировать регрессию со множеством различных групп данных, что делает его слишком трудоемким, чтобы делать это один за другим.

Есть ли более автоматизированное/надежное решение, которое работает для настройки имен строк с кодом?

ответ

1

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