xtable在顶部添加标题,在表格下添加标题

M. *_*eil 7 latex r caption sweave xtable

我想xtable在Rnw文档中添加标题标题.这是代码.不幸的是,我无法在表格下添加标题.我已经尝试了\ caption {}函数,但它不会打印PDF.

我见过R:xtable标题(或注释),但它不适用于从R中的lm()函数创建的表.你有什么线索吗?

<<yoman,echo=FALSE,results=tex>>=
library(xtable)

pop5lm <- lm(mpg ~ wt, data=mtcars) #my linear model

print(xtable(pop5lm,
             caption = c("Estimates of linear model for father Muro CB"), 
             label = "tab:one", digits = c(0,2, 2, 2,3)), 
             table.placement = "tbp", 
             caption.placement = "top")
@
Run Code Online (Sandbox Code Playgroud)

use*_*650 9

我无法看到快速选项xtable将文本添加到表格的底部(这并不意味着没有一个)所以我从这里和你问题中的链接使用了一个想法.这是一个相当原始的修复,有一个很大的缺点,你需要指定要添加的文本的宽度(等于表的宽度) - 如果你做得太长,它会拉伸最后一列(看到更改8.5到10 ).

\documentclass{article}

\usepackage{array}
\newcolumntype{L}[1]{>{\raggedright\arraybackslash}m{#1}}

\begin{document}
\SweaveOpts{concordance=TRUE}

<<yoman,echo=FALSE,results=tex>>=
library(xtable)

mod <- lm(mpg ~ wt, data=mtcars) #my linear model

print(xtable(mod,
             caption = "Estimates of linear model for father Muro CB ", 
             #label = "tab:one", 
             digits = c(0,2, 2, 2,3)), 
             table.placement = "h!", 
             caption.placement = "top",
             add.to.row = list(list(2),  
             "\\hline  \\multicolumn{5}{L{8.5cm}}{\\textbf{Note: }
             This is a description, blah, blah, blah, blah,  blah, blah, 
             blah, blah, blah, blah, blah, blah, blah, blah, blah, blah, 
             blah, blah, blah, blah, blah, blah, blah, blah, blah, blah, 
             blah, blah, blah, blah, blah, blah} \\\\"))

@

\end{document}
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

我认为乳胶中有很多替代品可以实现这一目标,但可能会让你开始.


来自评论:我尝试将其输出到HTML并且无法正常工作.有什么想法吗?

您可以multicolumnadd.to.row参数中更改latex命令,而不是print.table使用html表函数.(使用Rmarkdown的html输出)

```{r,echo=FALSE, results='asis'}
library(xtable)

mod <- lm(mpg ~ wt, data=mtcars) #my linear model

print(xtable(mod,
             caption = "Estimates of linear model for father Muro CB ", 
             digits = c(0,2, 2, 2,3)), 
             type="html",
             caption.placement = "top",
             add.to.row = list(list(2),  
             '<tr><td colspan="5"><b>Note: </b>
             This is a description, blah, blah, blah, blah,  blah, blah, 
             blah, blah, blah, blah, blah, blah, blah, blah, blah, blah, 
             blah, blah, blah, blah, blah, blah, blah, blah, blah, blah, 
             blah, blah, blah, blah, blah, blah</td></tr>'))

```
Run Code Online (Sandbox Code Playgroud)