Показать таблицу kable в соответствии с текстом - Sweave Rnw file - PullRequest
0 голосов
/ 22 октября 2018

У меня есть файл Rnw с таблицей с помощью команды kable.Я хочу, чтобы таблица отображалась в соответствии с текстом, который следует.Как я могу остановить отображение таблицы в верхней части страницы?Это код 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, не беспокоясь о переопределении решения,Я знаю, что вы можете использовать пакет float в LaTeX, но я не уверен, как это сделать в контексте файла Sweave.

1 Ответ

0 голосов
/ 31 октября 2018

Не включайте заголовок в вызов kable.Тогда он просто выведет tabular окружение, не помещая его в table float.Если заголовок не требуется, это просто означает, что при вызове kable.

пропускается аргумент caption. Если вы хотите подпись, но хотите, чтобы таблица была встроена, вам нужно начатьстол с \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}
...