我有數據表(d1和d2),我想用它們自己的單獨標題並排或相互排列在乳膠上。是否有可能直接與xtable()
做到這一點?這兩個表應該是不同的,即我們可以稱它們爲表x(a)和表x(b),但它們應該是相鄰的或堆疊的。R:使用xtable()打印兩個表格
回答
我會建議保存結果在不同文件中的兩個單獨的表(見file=
選項print.xtable()
),然後input
他們與您找到適合您的佈局(tabular
,subfloat
,minipage
任何命令你的LaTeX文檔,等等。)。這就是我一般的做法,儘管我通常依靠Hmisc包中的LaTeX工具。如果您只想將它們打印爲獨立PDF,請使用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所述。
完美!謝謝,謝謝。 – user702432 2011-06-08 04:11:26
@chi刪除'\ scalebox'不會堆放表格,如果它們足夠窄以適合其默認大小。 – 2012-07-20 20:25:55
@大衛啊,我認爲你是對的。相應地更新我的回覆! – chl 2012-07-22 09:56:50
見Alan Munn's answer to a similar question on tex.stackexchange.com。
\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}
- 1. r xtable和頻率表,逐行打印
- 2. ,使用R xtable
- 3. R:使用pander打印表格
- 4. R使用消息的打印表格
- 5. R:格式化位數xtable
- 6. R:如何使用多個參數打印表格
- 7. 使用PrintDocument打印表格
- 8. 如何使用jspdf-autotable打印兩個不同的表格
- 9. knitr,R Markdown和xtable:HTML表格中的xtable表格
- 10. 使用R程序打印多列表
- 11. R:渲染xtable
- 12. 使用R打印/保存Excel(.xlsx)表爲PDF使用R
- 13. 使用R打印JavaScript?
- 14. 打印表格
- 15. 打印表格
- 16. Chrome將表格標題兩次打印
- 17. 水晶報表 - 兩種打印格式
- 18. 如何打印表格的兩列值
- 19. 打印時表格切成兩半
- 20. 用xtable寫入文件R
- 21. 打印超過3個因素R表
- 22. 用兩個循環打印
- 23. 用點陣打印機打印碳表格okidata打印機
- 24. 用Web表格複製打印表格
- 25. 使用函數打印兩個變量
- 26. 用DeckWorkspace打印c#表格
- 27. 有用的表格打印
- 28. 用LINQ打印表格
- 29. 用jquery printThis打印表格
- 30. 用圖片打印表格
作爲一個表?那麼'xtable(rbind(d1,d2))'或'xtable(cbind(d1,d2))'應該沒問題吧? – 2011-06-07 09:58:52
如果您希望將表格分隔爲Xa和Xb,那麼這會變成更多乳膠標籤問題。其中一位版主應該可以遷移您的問題。 – 2011-06-07 11:24:24
@SachaEpskamp'rbind'只有在兩個表具有相同的'ncol'(或'cbind' /'nrow')時纔有效。 – 2012-07-20 20:24:26