我有一个使用kable
命令的带有表的Rnw文件。我希望表格显示与其后面的文字一致。如何阻止表格显示在页面顶部?这是Rnw代码:
\documentclass{article}
\begin{document}
Here is my data, which is supposed to be below this sentence.
\\
\begin{abstract}
<<>>=
a <- 1; b <-2; c <-3; d <- 4
df.mse <- data.frame(row.names = c("Normal model", "Laplace model"))
df.mse["Normal model", "Normal MLE"] <- a
df.mse["Normal model", "Laplace MLE"] <- b
df.mse["Laplace model", "Normal MLE"] <- c
df.mse["Laplace model", "Laplace MLE"] <-d
library(knitr)
kable(df.mse, caption="approximate MSE for each model/estimator combination")
@
\end{abstract}
\end{document}
我希望该解决方案不涉及更改实际的Tex文件,因为我希望继续处理Sweave文件而不必担心会覆盖该解决方案。我知道您可以在LaTeX中使用float程序包,但是我不确定如何在Sweave文件的上下文中执行该操作。
答案 0 :(得分:0)
在对kable
的呼叫中不要包含标题。然后,它将只输出一个tabular
环境,而不将其包装在table
浮点数中。如果不需要标题,仅表示在调用caption
时忽略了kable
参数。
如果确实要添加标题,但希望将该表插入行内,则需要以\begin{table}[h]
开始该表。您可以像这样将其放在Rnw
文件中:
<<>>=
a <- 1; b <-2; c <-3; d <- 4
df.mse <- data.frame(row.names = c("Normal model", "Laplace model"))
df.mse["Normal model", "Normal MLE"] <- a
df.mse["Normal model", "Laplace MLE"] <- b
df.mse["Laplace model", "Normal MLE"] <- c
df.mse["Laplace model", "Laplace MLE"] <-d
library(knitr)
@
\begin{table}[h]
\caption{This is the caption.}
<<echo=FALSE>>=
kable(df.mse)
@
\end{table}