6

I'm trying to compile a LaTeX report using RStudio and knitr. I'm having a hard time getting the packages booktabs and dcolumn to work with my texreg-generated table.

As an example, I am trying to recreate Table 2 in this example:.

My attempt as a .Rnw -file is below:

\documentclass{article}

\usepackage{booktabs}
\usepackage{dcolumn}

<<setup, include=FALSE >>=
library(texreg)
 @


\begin{document}

<<analysis, include=FALSE>>=
ctl <- c(4.17,5.58,5.18,6.11,4.50,4.61,5.17,4.53,5.33,5.14)
trt <- c(4.81,4.17,4.41,3.59,5.87,3.83,6.03,4.89,4.32,4.69)
group <- gl(2,10,20, labels=c("Ctl","Trt"))
weight <- c(ctl, trt)
m1 <- lm(weight ~ group)
m2 <- lm(weight ~ group - 1) # omitting intercept
@

<<table, results='asis'>>=
texreg(m2)
@


\end{document}

However, the generated LaTex table (below) includes neither the booktabs horizontal lines nor the dcolumn alignment. How to incorporate them? Many thanks for help!

\begin{table}
\begin{center}
\begin{tabular}{l c }
\hline
           & Model 1 \\
\hline
groupCtl   & $5.03^{***}$ \\
           & $(0.22)$     \\
groupTrt   & $4.66^{***}$ \\
           & $(0.22)$     \\
\hline
R$^2$      & 0.98         \\
Adj. R$^2$ & 0.98         \\
Num. obs.  & 20           \\
\hline
\multicolumn{2}{l}{\scriptsize{$^{***}p<0.001$, $^{**}p<0.01$, $^*p<0.05$}}
\end{tabular}
\caption{Statistical models}
\label{table:coefficients}
\end{center}
\end{table}
4

2 に答える 2

5

明確にするために: Robert のソリューションの重要な部分は、use.packages=FALSEコードを 2 つのチャンクに分割することではなく、引数です。

その理由は次のとおりです。texreg()今呼び出す方法により、生成されるtex出力に次のものが含まれます。

\usepackage{booktabs}
\usepackage{dcolumn}

出力をオブジェクトに保存してから使用cat()しても、これは解決されません。

ドキュメント本文で \usepackage{}' を使用することはできません\usepackage()' outside the preamble. Knitr still compiles a PDF but apparently this use of。プリアンブルでロードした場合でも、booktabs と dcolumn の使用が台無しになります。

use.packages=FALSEに引数を追加texreg()します。FALSE に設定すると、use package ステートメントは出力から省略されます。ドキュメントのプリアンブルに use package ステートメントを自分で書き込めば、booktab と整列された数値を含む回帰表が得られます。

于 2015-01-04T12:19:31.890 に答える