データ テーブル (d1 と d2) があり、それぞれのタイトルを付けて、ラテックスで並べて印刷したり、重ねて印刷したりします。で直接それを行うことは可能xtable()
ですか? 2 つのテーブルは別個であるべきです。つまり、それらをTable x(a)およびTable x(b)と呼ぶことができますが、それらは隣接しているか積み重ねられている必要があります。
11013 次
2 に答える
16
結果を2つの別々のテーブルとして異なるファイルに保存し(のfile=
オプションを参照print.xtable()
)、レイアウトinput
に適したコマンド(、、、など)を使用して結果をLaTeXドキュメントにtabular
保存することをお勧めします。これは私が一般的に行っていることですが、私は通常、HmiscパッケージのLaTeX機能に依存しています。スタンドアロンのPDFとしてのみ印刷する場合は、ドキュメントのクラスを使用してください。subfloat
minipage
standalone
だから、ここに例があります:
data(tli)
fm1 <- aov(tlimth ~ sex + ethnicty + grade + disadvg, data=tli)
print(xtable(fm1), file="ta.tex", floating=FALSE)
print(xtable(head(tli, n=5)), file="tb.tex", floating=FALSE)
次に、クイックtexラッパー(でコンパイルpdflatex
):
\documentclass{article}
\usepackage{subfig}
\usepackage{graphicx}
\begin{document}
\begin{table}[ht]
\centering
\subfloat[Table x(a)]{\label{tab:tab1a}\scalebox{.5}{\input{./ta}}}\quad
\subfloat[Table x(b)]{\label{tab:tab1b}\scalebox{.5}{\input{./tb}}}
\caption{Caption about here}
\label{tab:tab1}
\end{table}
\end{document}
結果は次のとおりです。
\scalebox
@Davidで示されているように、デフォルトのサイズに収まるほど狭い場合を除いて、デフォルトの(スタックされた)レイアウトのコマンドを削除します。
于 2011-06-07T11:53:56.660 に答える
10
tex.stackexchange.com の同様の質問に対する Alan Munn の回答を参照してください。
\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage{booktabs}
\usepackage{caption}
\title{Side-by-side xtables}
\author{}
\date{}
\begin{document}
\maketitle
First some R code to create some data.
<<>>=
myData <- matrix(c(19,89,23,23,74,44,16,39,67),ncol=3,byrow=TRUE)
colnames(myData) <- c("A","B","C")
rownames(myData) <- c("1","2","3")
myData2 <- myData * 2
@
Now we place the data in two side-by-side tables:
\begin{table}[htb]
\begin{minipage}{.45\textwidth}
\centering
<<echo=FALSE,results=tex>>=
library("xtable")
print(xtable(myData),
floating=FALSE,
hline.after=NULL,
add.to.row=list(pos=list(-1,0, nrow(myData)),
command=c('\\toprule\n','\\midrule\n','\\bottomrule\n')))
@
\captionof{table}{The first table}
\end{minipage}
\begin{minipage}{.45\textwidth}
\centering
<<echo=FALSE,results=tex>>=
print(xtable(myData2),
floating=FALSE,
hline.after=NULL,
add.to.row=list(pos=list(-1,0, nrow(myData2)),
command=c('\\toprule\n','\\midrule\n','\\bottomrule\n')))
@
\captionof{table}{The second table}
\end{minipage}
\end{table}
\end{document}
于 2011-11-28T05:02:52.643 に答える