2012-09-13 6 views
6

まず、私が間違っていると思ったら大きな絵を描こうとしていることを教えてください。私はknitrを使ってRStudio内にLaTeXテーブルとして入れたいネストしたテーブルを持っています。私はキャプションを追加しようとするまでうまくいく。私はtablesビネット(LINK)の9ページの例を試しました。Hmisc :: latex表題オブジェクトでキャプションが印刷されていません

キャプションなしで機能しますが、キャプションを追加すると機能しません。また、非表形式のオブジェクトでも動作します。面白いのは、latex.defaultが動作しますが、RStudio/knitrのCompile PDFでエラーが発生し、とにかく私が読んだのはlatexです。テーブルは適切に丸められません。私はlatexTabularを試しましたが、適切に四捨五入されていません。

library(Hmisc); library(tables) 
latex(head(mtcars), file="", caption="de") #works 

x <- tabular((Species + 1) ~ (n=1) + Format(digits=2)* 
     (Sepal.Length + Sepal.Width)*(mean + sd), data=iris) 

latex(x, file="", caption="de") #no caption :(

理想的には私は出力に\caption{de}を持つことができるようにしたいと思いますが、私は間違っているつもりだどこを見つけ出すことはできません。

場合、それはここに人の入力と出力は次のとおり

> latex(x, file="", caption="de", label="tab1") 
\begin{tabular}{lccccc} 
\hline 
& & \multicolumn{2}{c}{Sepal.Length} & \multicolumn{2}{c}{Sepal.Width} \\ 
Species & n & mean & sd & mean & sd \\ 
\hline 
setosa & $\phantom{0}50$ & $5.01$ & $0.35$ & $3.43$ & $0.38$ \\ 
versicolor & $\phantom{0}50$ & $5.94$ & $0.52$ & $2.77$ & $0.31$ \\ 
virginica & $\phantom{0}50$ & $6.59$ & $0.64$ & $2.97$ & $0.32$ \\ 
All & $150$ & $5.84$ & $0.83$ & $3.06$ & $0.44$ \\ 
\hline 
\end{tabular} 
+0

'tabular()はどこから来たのですか? –

+0

@Josh my apologies tabularはテーブルパッケージから来ます。 –

+1

@Brandon xtableはネストしたテーブルを扱うことはできませんが、私は間違っているのが大好きです。通常はテーブルを上に置いてみましたが、私は完全に再現可能な研究に向かい、knitrを使ってすべてを1つのファイルとして実行しようとしています。 –

答えて

6

平板からXオブジェクトは、()クラスの平板状」であり、キャプション引数を持たないlatex.tabular、送出されています。私はそれがキャプションを供給することを任されるSweaveの中で意図されたユースケースであると推測している。

しかし、テーブルビネットのオプションに"\\caption{.}"引数を使用する例が22ページにあります。

x <- tabular((Species + 1) ~ (n=1) + Format(digits=2)* 
      (Sepal.Length + Sepal.Width)*(mean + sd), data=iris) 

latex(x, file="", options = list(tabular="longtable", toprule="\\caption{This is a sample caption.}\\\\ \\toprule", midrule="\\midrule\\\\[-2\\normalbaselineskip]\\endhead\\hline\\endfoot")) 
\begin{longtable}{lccccc} 
\caption{This is a sample caption.}\\ \toprule 
& & \multicolumn{2}{c}{Sepal.Length} & \multicolumn{2}{c}{Sepal.Width} \\ 
Species & n & mean & sd & mean & sd \\ 
\midrule\\[-2\normalbaselineskip]\endhead\hline\endfoot 
setosa & $\phantom{0}50$ & $5.01$ & $0.35$ & $3.43$ & $0.38$ \\ 
versicolor & $\phantom{0}50$ & $5.94$ & $0.52$ & $2.77$ & $0.31$ \\ 
virginica & $\phantom{0}50$ & $6.59$ & $0.64$ & $2.97$ & $0.32$ \\ 
All & $150$ & $5.84$ & $0.83$ & $3.06$ & $0.44$ \\ 
\hline 
\end{longtable} 
+0

それはDWin働く –

+0

発見は難しくありませんでした。私は「キャプション」という言葉を検索しました。 LaTeXについての私の制限された理解のために働くことは、 "+"価値があったものです。 –

9

が、私はこれを認めざるを恥ずかしいが、全体の問題は、私が所属していないコードの塊の内部に何かを強制しようとしていた:これは成功を得ているようです。私は将来のサーチャーを助けるために私のプライドを窒息しています。ラテックスのものは外に出る。上の表をうまく書式設定された表としてプロットしようとしている場合、これはあなたが探しているものです:

\begin{table}[ht] 
\caption{This is a sample caption. \label{guy}} 
<<desc, echo = FALSE, results = 'asis'>>= 
x <- tabular((Species + 1) ~ (n=1) + Format(digits=2)* 
    (Sepal.Length + Sepal.Width)*(mean + sd), data=iris) 
latex(x) 
@ 
\end{table} 
+0

+1これについて恥ずかしいことはありません。これは良い答えです。 。 – Andrie

0

これは動作するはずです。

cat('\\begin{table}[ht] 
    \\centering') 
latex(tabularTable) 
cat('\\caption{some caption}') 
cat('\\label{tab:table1}') 
cat('\\end{table}') 
関連する問題